Bonjour,

j'ai un fichier XML de ce type :

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<Root>
  <Messages attribut1="4545", attribut2="sdfdsqf4545", attribut3="sqfsd4545"></Messages>
</Root>

Je souhaite dupliquer la balise "Messages" n fois (n étant un nombre à définir) mais les valeurs des attributs1, 2 et 3 doivent tous être différents pour chaque balises Messages dupliquées.

J'ai commencé à écrire ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
tree = ET.parse("nom_du_fichier_xml.xml")
root = tree.getroot()
 
for message in root.findall("Messages"):
    varattribut1 = message.attrib["attribut1"]
    newattribut1 = random.randint(1, 1000)
    ET.SubElement(root, "Messages", attribut1='"' + str(newattribut1) + '"')
    root.append(message)
 
tree.write("file_new.xml")
Mais en sortie, ça me donne :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
<Messages attribut1="&quot;887&quot;" /><Messages attribut1="0" attribut2="Ds1wkACPlNg7KzKYzV" attribut3="NUp3mXs0fyPTF4jDWY">

Pourquoi ? comment dupliquer la balise "<Messages>" existante tout en modifiant ces attributs ?

Merci pour vos pistes et retour.

Bonne après-midi.

Cdt,