Traitement basique sur fichier xml avec python
bonjour
novice je recherche des informations suivantes.
je dispose d'un fichier xml pour lequel je souhaite changer certaines valeurs
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <GeneratedReport>
<Interval Start="2013/09/17 00:00:00.000" End="2013/09/24 23:59:59.000">
<toto Valeur="valeur1"/>
<toto Valeur="valeur2"/>
<toto Valeur="valeur3"/>
<toto Valeur="valeur1"/>
<toto Valeur="valeur2"/>
<toto Valeur="valeur3"/>
<toto Valeur="valeur1"/>
<toto Valeur="valeur2"/>
<toto Valeur="valeur3"/>
<toto Valeur="valeur1"/>
<toto Valeur="valeur2"/>
<toto Valeur="valeur3"/>
</Interval>
</GeneratedReport> |
Je souhaite modifier les termes valeur1 par nombre1 valeur2 par nombre2 et ainsi de suite
j ai réalisé ce petit script afin de remplacer uniquement le terme "valeur1" mais cela ne fonctionne pas .
En toute vraissemblance , il s'agit de la ligne chaine.replace("valeur1","nombre1") qui doit être erronée ou mal appropriée
Code:
1 2 3 4 5 6 7 8 9 10 11
| #!/usr/bin/python
# -*- coding: iso-8859-1 -*-
chaine = "valeur1" # Texte à rechercher
fichier = open("essai.xml","r")
for ligne in fichier:
if chaine in ligne:
print ligne
chaine.replace("valeur1","nombre1")
fichier.close() |
par avance merci
Lire la documentation ne fait pas de tort
Code:
1 2
|
chaine = chaine.replace(ancien,nouveau,compteur) |
La méthode replace retourne une copie de l'objet chaine dans lequel toute les occurrences de ancien sont replacées par nouveau
Rappel : En Python, les chaînes sont pas mutables, donc il n'y a aucune opération de transformation effectuée sur place.