Bonjour,
J'ai un schéma et un xml associé (source Wikipédia mais modifié) :
Schéma :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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 XML : Sélectionner tout - Visualiser dans une fenêtre à part
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 xmlnssd="load.personne" xmlns
si="http://www.w3.org/2001/XMLSchema-instance">, ça marche mais je ne dois pas le rajouter justement…
Merci pour votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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")
Partager