Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Dans l'export XML d'une datawindow, est-il possible de définir dynamiquement un élément (tag) ?
Le but est d'avoir quelque chose comme :
<subscriptiondistribution>
<addcustomer>
....
</addcustomer>
<addcustomer>
....
</addcustomer>
</subscriptiondistribution>
Mais dans cet exemple le tag addcustomer pourrait être remplacé par modcustomer ou delcustomer
Merci pour vos infos ?
Dernière modification par Marcus (26-03-2008 10:30:54)
Hors ligne
Non, ce n'est pas possible.
Plusieurs solutions:
1 - Si tu as la main sur la definition de ton XML, je te conseille de définir tes 3 comportements differents (add, mod et del) via un attribut de la balise generique "customer". Donc qqch du genre <customer mode="xxx"> avec xxx = {add, mod ou del}... Et si tu mappe cet attribut avec une colonne ou une expression de ta datawindow c'est réglé! Solution idéale et de plus plus "sensefull" d'un point de vue XML...
2 - Une autre solution est de faire un template xml d'export par type de customer : une qui genere des addcustomer, une des delcustomer, etc... Et de merger ces xml ensemble par programme apres... Solution peu élégante je l'accorde...
3 - Pareil que 2, mais au lieu de parser les XML generes "a la main", tu peux utiliser PBDOM, et plus particulierement la methode BuildFromDataStore de l'objet PBDOM_BUILDER, pour generer un document XML en memoire pour chaque type d'export de ta DW, et rebrancher les balises au bon endroit... Un peu plus propre...
A toi de voir...
A noter que PBDOM est beaucoup plus gourmant en ressources que le simple export DW, et pour des fichiers depassant 10 ou 20 Mo, ca commence a se sentir sur les perfs, donc attention!
Hors ligne
Salut Cortex et un tout grand merci.
Solution 1 : A proscrire
Solution 2 : Privilégiée par le client car plus rapide à priori
Solution 3 : Génial !! Je ne connaissais pas du tout. Bon, le client ne veut pas investir. Mais, à titre
perso, je vais investiguer. Ca me donne, semble-t-il un contrôle total sur la production du XML,
manipulation des éléments, insertion, création from scratch, ...
Encore merci. A bientôt
Hors ligne
Bonjour,
Si la demande est résolue, merci de bien vouloir clôturer le sujet.
Cordialement.
Doctor Z.
Hors ligne