Bonjour,

Je dispose d'un fichier de plusieurs milliers de lignes dont chacune d'elles est composé de données XML.
Ex d'une ligne: donnée 1, donnée 2, donnée 3,
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
<?xml version="1.0" encoding="UTF-8"?><root>données</root>

Tout d'abord j'aurais souhaité avoir la confirmation que xml.etree.ElementTree ne peut prendre en charge que des fichiers et que je ne peux pas l'utiliser avec l'indice de la liste ou une variable afin d'éviter la création d'un fichier. J'ai essayé mais sans résultat mais peut être qu'il y a une méthode que je ne connais pas.

Mon autre difficulté est que mon fichier XML a plusieurs balises identiques

Code XML : 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
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <data>
    <pays>France</pays>
    <langue>Français</langue>
    <monnaie>Euro</monnaie>
  </data>
  <data>
    <pays>Allemagne</pays>
    <langue>Allemand</langue>
    <monnaie>Euro</monnaie>
  </data>
  <data>
    <pays>Italie</pays>
    <langue>Italien</langue>
    <monnaie>Euro</monnaie>
  </data>
  <data>
    <pays>Espagne</pays>
    <langue>Espagnol</langue>
    <monnaie>Euro</monnaie>
  </data>
</root>



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import xml.etree.ElementTree as ET                                                                                    
root = ET.parse("Paystest.xml").getroot()                                    
 
for item in root.iter("pays"):
    pays = item.text
    print(pays)
 
for lang in root.iter("langue"):         
    langue = lang.text
    print(langue)
 
for monn in root.iter("monnaie"):
    monnaie = monn.text
    print(monnaie)

A la sortie j'ai ça comme résultat:

France
Allemagne
Italie
Espagne
Français
Allemand
Italien
Espagnol
Euro
Euro
Euro
Euro

Je souhaiterais avoir les données regroupées par bloc:

France
Français
Euro
Allemagne
Allemand
Euro
Italie
Italien
Euro
Espagne
Espagnol
Euro
Je voudrais savoir si c'est possible d'arriver à ce résultat.

Merci