Bonjour,
J'ai un problème avec le parsing d'un flux XML en PL/SQL.
Voici le code que j'utilise pour parser ce fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 nomfic := BFileName(wa_repertoire, p_fichier); DBMS_LOB.fileOpen(nomfic); dbms_lob.createtemporary(destfile,true,dbms_lob.session); w_length:=DBMS_LOB.getlength (nomfic); DBMS_LOB.loadfromfile (destfile, nomfic, w_length); DBMS_LOB.fileclose (nomfic); p := xmlparser.newparser; xmlparser.setbasedir (p, wa_repertoire); xmlparser.ParseClob(p,destfile); thexmldoc := xmlparser.getdocument (p);
Or, arrivé à "xmlparser.ParseClob(p,destfile)", j'ai une erreur Oracle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ORA-31011: XML parsing failed ORA-19202: Error occurred IN XML processing LPX-00210: expected '<' instead of '?' Error at line 1
Tout porte à croire que le problème vient du fichier xml mais je ne vois pas d'où:
Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <?xml version='1.0' encoding='UTF-8'?><OPCR><OP><CodeActivite>AB </CodeActivite><OrdrePreparation>185264</OrdrePreparation><EtatPreparation>10</EtatPreparation><DateCreation>2008-08-11T06:20:08.483</DateCreation><DateFinTraitement>2008-08-11T10:59:16.030</DateFinTraitement><NbColis>1</NbColis><FluxEDI>fluxcde.xml</FluxEDI><Ligne><CodeArticle>24654JHK</CodeArticle><QuantiteCommandee>1</QuantiteCommandee><QuantiteLivree>1</QuantiteLivree></Ligne><Colis><GestionTransport>UPS STANDARD GL</GestionTransport><ContratTransport>UPS GL</ContratTransport><NoChargement>69</NoChargement><DateChargement>2008-08-11T15:30:19.373</DateChargement><NoColis>26544454654KHJK555465</NoColis><RangColis>1</RangColis><Poids>168</Poids><Emballage>111</Emballage><Volume>7</Volume><VaguePreparation>ABVH080811-01</VaguePreparation><LigneColis><CodeArticle>445654NHJK</CodeArticle><Quantite>1</Quantite></LigneColis></Colis></OP></OPCR>
Quelqu'un saurait il résoudre ce problème?
Merci par avance pour votre aide.
Partager