Boucle balise fichier xml associé à un schéma public
Bonjour,
J'ai un schéma et un xml associé (source Wikipédia mais modifié) :
Schéma :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNameSpace="load.personne" xmlns="load.personne" elementFormDefault="qualified">
<xs:element name="personne">
<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string" />
<xs:element name="prenom" type="xs:string" />
<xs:element name="date_naissance" type="xs:date" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema> |
Xml:
Code:
1 2 3 4 5 6
| <?xml version="1.0" encoding="UTF-8"?>
<personne xmlns="load.personne" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<nom>De Latour</nom>
<prenom>Jean</prenom>
<date_naissance>1967-08-13</date_naissance>
</personne> |
Maintenant j'ai un code Python avec lequel je souhaite accéder aux balises du xml via une boucle mais le debugger ne passe pas dans ma boucle…
Par contre si je rajoute xsd dans mon xml => <personne xmlns:xsd="load.personne" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">, ça marche mais je ne dois pas le rajouter justement…
Code:
1 2 3 4 5 6 7 8 9 10
| import lxml
from lxml import etree
fichierXml = "C:\Users\Desktop\Schémas-Xml\exemple.xml"
tree = etree.parse(fichierXml)
for balises in tree.xpath("/personne")
nom = balises.get("nom")
prenom = balises.get("prenom") |
Merci pour votre aide!