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:
Je voudrais savoir si c'est possible d'arriver à ce résultat.France
Français
Euro
Allemagne
Allemand
Euro
Italie
Italien
Euro
Espagne
Espagnol
Euro
Merci
Partager