Lire un fichier XML avec Python
Bonjour,
J'ai voulu tester le petit code suivant:
Code:
1 2 3 4 5
| from xml.dom import minidom
fsock = open('xml exemple.xml')
xmldoc = minidom.parse(fsock)
fsock.close()
print xmldoc.toxml() |
Le fichier xml exemple.xml est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?xml version="1.0" encoding="ISO-8859-1"?>
<database name="infos">
<table name="codeDepartement">
<record>
<field name="ID" type="string">01</field>
<field name="NOM" type="string">Ain</field>
</record>
<record>
<field name="ID" type="string">02</field>
<field name="NOM" type="string">Aisne</field>
</record>
<record>
<field name="ID" type="string">03</field>
<field name="NOM" type="string">Allier</field>
</record>
</table>
</database> |
L'execution me renvoie:
Traceback (most recent call last):
File "E:\Python\Essais Python\minidom use.py", line 3, in <module>
xmldoc = minidom.parse(fsock)
File "C:\Python25\lib\xml\dom\minidom.py", line 1913, in parse
return expatbuilder.parse(file)
File "C:\Python25\lib\xml\dom\expatbuilder.py", line 928, in parse
result = builder.parseFile(file)
File "C:\Python25\lib\xml\dom\expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
ExpatError: not well-formed (invalid token): line 1, column 0
>>>
Je ne comprends pas.
Qu'est-ce qui est mal forme ? Le contenu du fichier ? ( premier caractere < ?)
L'extension du fichier ? (c'est quoi le token ?)
Merci pour des reponses
Merci pour votre reponse. Mais moi pareil
J'ai change le nom du fichier en xml_exemple.xml
Le programme me retourne exactement le meme compte-rendu d'erreur.
Si je rends muette la ligne
xmldoc = minidom.parse(fsock)
en mettant # devant,
il n'y a plus d'erreur.
L'erreur surgit donc a l'appel de cette ligne.