OVH Cloud OVH Cloud

Modifier un element d'un fichier XML

1 réponse
Avatar
Nicolas Moreau
Bonjour,

Existe t'il un moyen simple en Python de modifier un fichier XML grâce
au DOM ?
(un createElement, un setAttribut et hop une fonction qui fait la
sérialization du fichier avec les modifs) ?

merci d'avance

--
Nicolas Moreau

1 réponse

Avatar
Jerome
Nicolas Moreau wrote:
Bonjour,

Existe t'il un moyen simple en Python de modifier un fichier XML grâce
au DOM ?
(un createElement, un setAttribut et hop une fonction qui fait la
sérialization du fichier avec les modifs) ?

merci d'avance



Salut

la libxml2 est assez puissante et permet de modifier très simplement un
document dom

Par exemple :

import libxml2, sys

##~ toto.xml :
##~ <?xml version="1.0" encoding="iso-8859-1"?>
##~ <root>
##~ <a>toto</a>
##~ <b>titi</b>
##~ </root>

doc = libxml2.parseFile('toto.xml')

root = doc.getRootElement()
nodes = root.xpathEval('*')

for n in nodes:
n.newProp(name='Att1', value='1')

root.newChild(ns=None, name='c', content='tata')

doc.dump(sys.stdout)
doc.freeDoc()