Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Voici mon problème:
J'ai un fichier XML, dont voici le contenu :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<pain.001.001.02>
<PmtInf>
<CdTrfTxInf>
<PmtId>
<EndtoEndId>TEST1</EndtoEndId>
<IBAN>IBANTEST1</IBAN>
</PmtId>
</CdTrfTxInf>
<CdTrfTxInf>
<PmtId>
<EndtoEndId>TEST2</EndtoEndId>
</PmtId>
</CdTrfTxInf>
</PmtInf>
</pain.001.001.02>
En fait, mon fichier XML est bien plus complexe que cela, mais pour faciliter les choses, je n'ai repris que cette partie la, si je comprend pour cette partie, le reste devrait suivre...
J'aimerais charger mon fichier dans une datawindow. Problème, lorsque j'utilise le schéma par défaut... Il me charge tout peu importe les colonnes et le nom des balises dans ma datawindow... Vu que certaines balises sont facultatives et que 2 fichiers peuvent comporter un grand nombre de différence, ca ne m'arrange pas... Il faut donc que je créé un template...
Mais lorsque j'utilise le template que j'ai créé, et bien, c'est très simple, les données ne se charge plus dans la datawindow... Le problème doit donc venir de mon template vu que le chargement s'effectue "bien" avec le template par défaut.
Voici à quoi ressemble le template correspondant avec le xml de test indiqué ci-dessus...
?xml version="1.0" encoding="UTF-8" standalone = "no"?
<Element>pain.001.001.02
<Element>PmtInf
<Element>CdTrfTxInf
<Element>PmtId
<Element>EndToEndId
<Data Window Control Reference>endtoendid
<Data Window Control Reference>iban
Et j'ai bien une colonne endtoendid et iban dans ma datawindow...
Est-ce que quelqu'un pourrait m'indiquer au moins un chemin à suivre?
Merci d'avance.
Dernière modification par ORIOR (29-06-2010 13:12:28)
Hors ligne
Bonjour,
ça me rappelle de Iso20022
Pour cette structure et utlisation de XML, de préférence utilisé le PBDOM
J'ai essayé de travailler avec l'XML, tu peux voir les topics suivant:
http://pbadonf.fr/forum/viewtopic.php?pid=19169#p19169
http://pbadonf.fr/forum/viewtopic.php?pid=19976#p19976
Bon courage !
Hors ligne
Bonjour,
J'ai l'impression que dans ton tempalte tu as oublié la balise IBAN avant d'indiquer la column
Cdt
YANIS
Hors ligne
Oui effectivement.
J'ai oublié de la renoter ici.
Mais elle se trouve bien dans mon template...
J'avais la flemme d'uploader un printscreen de mon template donc voila lol.
Je ne sais pas trop ce qu'est le PBDOM (Je débute ^^). Donc je vais chercher de la doc la dessus et voir ce que je peux en tirer.
Merci pour l'idée, je vous tiendrai au courant.
Hors ligne
Bonjour,
Tu n'a pas besoin de PBDOM pour importer ton fichier XML une datawindow
Je viens de faire une datawindow externe avec 2 colonnes ( il faut quelles portent le même nom que tes balises : endtoendid et iban )
J'ai créé un template xml que j'ai appelé T1 et dans l'onglet <data import j'ai dit que par défault c'est T1 )
Ensuite dans le preview de la datawindow j'ai effectué un import de ton fichier XML et çà marche très bien
Cdt
Yanis
Hors ligne
Je ne comprend pas, car c'est exactement ce que j'ai fait...
Je viens même de recommencer en ne laissant plus qu'une seule colonne.
Est-ce que tu (ou qui que ce soit d'autre d'ailleurs) pourrais regarder si tu vois quelque chose qui cloche, car je n'ai pas l'impression d'avoir fait une erreur...
Mon fichier XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <pain.001.001.02> <PmtInf> <CdTrfTxInf> <PmtId> <EndtoEndId>TEST1</EndtoEndId> </PmtId> </CdTrfTxInf> <CdTrfTxInf> <PmtId> <EndtoEndId>TEST2</EndtoEndId> </PmtId> </CdTrfTxInf> </PmtInf> </pain.001.001.02>
Ma Datawindow:
Mon bout de code pour faire l'import:
dw_xml.ImportFile(XML!, uo_sle_file_xml.text)
Merci d'avance pour votre aide.
Hors ligne
Salut,
Je ne vois pas le contenu de ta datawindow induiqué adns ton message
Pourrais tu mettre dans un message le source de ta datawindow je te dirais ce qui ne vas pas dedans
Cdt
Yanis
Hors ligne
Qu'entend tu par source de ma datawindow?
Je n'ai pas de querry, vu que c'est une source externe. Et le fichier xml source est défini dynamiquement dans ma fenêtre par l'utilisateur.
J'ai mi dans mon précédent message un exemple de fichier xml ainsi que le code que j'utilise pour Importer mon fichier.
dw_xml.ImportFile(XML!, uo_sle_file_xml.text)
Avec uo_sle_file_xml.text, qui contient le nom et l'emplacement du fichier. (Que j'ai vérifier en debug et qui est correct...)
Hors ligne
Salut,
désolé pour la réponse tardive j'étais en vacance.
Quand je te demande le source de ta dawindow c'est faire un export de ta datawindow ( fichier.srd )
Cdt
Yanis
Hors ligne
Il n'y à aucun problème
Et je te remercie beaucoup pour ton aide...
Car j'ai, grâce à toi, trouvé mon erreur...
J'ai exporter la datawindow comme tu me l'avais demandé et en regardant le contenu du fichier avec notepad, j'ai pu voir une erreur...
Que je n'avais pas vu en regardant ma datawindow directement...
Problème du Case Sensitive en xml... Oubli d'une majuscule...
Donc voila, mon problème est enfin résolu.
Et je te remercie encore d'avoir pris le temps de me répondre.
Hors ligne