Bonjour,
Je développe un pg pour remplacer des valeurs dans un fichier xml, J'ai regardé beaucoup d'exemples pour manipuler des fichiers xml en python, mais chaque exemple utilise des modules différents donc je suis à chaque fois dans l'impasse.
exemple de fichier à traiter :
Dans ce fichier il y a des valeurs dans des tags (DD ou 2 ou JJ) et des valeurs encadrées par des tags (KK ou LL).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <message:hasMember> <aixm:AirportHeliport gml:id="DD"> <aixm:ElevatedPoint srsDimension="2" gml:id="JJ"> <gml:pos srsDimension="3">KK </gml:pos> <aixm:elevation uom="M">LL</aixm:elevation> </aixm:ElevatedPoint> </aixm:AirportHeliport> </message:hasMember>
Ce que je cherche à faire (et qui me semble être le b a ba) c'est récupérer les noms des tags et les valeurs associées pour les remplacer par d'autres valeurs. Je suis partie sur la piste suivante :Mais malgré les tests, je ne sais pas encore avec certitude comment savoir si c'est une feuille ou un noeud ... et surtout je ne sais pas comment faire de substitution de valeurs dans mon arbre.
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 from xml.dom.NodeFilter import NodeFilter from xml.dom.ext.reader import Sax2 reader = Sax2.Reader() doc = reader.fromStream("Exec/XmlTemplate.xml") iterator=doc.createNodeIterator(doc,NodeFilter.SHOW_ALL,None,0) elem=iterator.nextNode() while elem: if elem.attributes != None: for attrEntry in elem.attributes.items(): print "elem.attributes.items() :",elem.nodeName,attrEntry[-1].name,":",attrEntry[-1].value else: if elem.nodeValue != None: print "elem.nodeValue : ",elem,elem.nodeName,"<",elem.nodeValue,">" elem=iterator.nextNode()
Merci de vos suggestions
Partager