substituer des valeurs dans un fichier xml
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 :
Code:
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> |
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).
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 :
Code:
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() |
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.
Merci de vos suggestions