Tout est dit dans le titre, j'ai une source XML, exemple:
Mon code, par exemple avec la lib ElementTree:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <?xml version="1.0"?> <tns:createErs> <common:ERS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:common="urn:crews:common:v1" xmlns:nor-xeu="urn:crews:nor:xeu:v1"> <common:FMC FR="FRA" RDRT="2011-07-21T00:14:55"> <common:CRN>OOZ20110721010202000</common:CRN> </common:FMC> <common:VES AD="NOR" RC="FPTA" DATI="2011-07-21T00:14:55" MA="KACZOR BERNARD" IR="FRA000900470"> <nor-xeu:LAN DLHL="2011-07-19T21:30:00" PO="DKHAN"> <common:CLC> <common:LSP SN="POK" RA="IVa" NE="5007" PR="GUT" TY="BOX" NU="185" AW="27"/> <common:LSP SN="POL" RA="IVa" NE="81" PR="GUT" TY="BOX" NU="3" AW="27"/> </common:CLC> </nor-xeu:LAN> </common:VES> </common:ERS> </tns:createErs>
Donne ceci comme erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 import xml.etree.ElementTree as ET tree = ET.parse(monFichierXML) for elem in tree.getiterator(): print elem.tag, elem.attrib
ExpatError: unbound prefix: line 2, column 0
Mais, si pour mon test, je mets en root:
<data>
........
</data>
à la place de <tns:createErs>
ça fonctionne!
Une idée avec ElementTree (ou peut-être avec une autre lib)?
Merci,
(En fait le XML n'est pas valide mais je ne peux pas le modifier, ça vient de mon client, existe-il un moyen de parser sans tenir compte d'une balise?)
Partager