Bonjour,
je découvre et j'apprends lxml et j'aimerais traiter un fichier xml.
Si une balise n'est pas présente dans le flux, je dois extraire certaines données.
La section du flux à traiter est de ce type :
Si balise4 n'est pas présente dans le flux, je dois extraire balise1, balise2, balise3. Je n'y arrive pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <balise> ----<balise1> Val 1 </balise1> ----<balise2> Val 2 </balise2> ----<balise3> Val 3 </balise3> ----<balise4> Val 4 </balise4> </balise>
Début de code python :
Merci pour vos pistes et retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/usr/bin/env python # -*- coding: UTF-8 -*- try: from lxml import etree tree = etree.parse("fichier.xml") contenuBalise = tree.xpath("/Balise") compteur = 0 for cB in contenuBalise: # boucle sur <Balise> compteur += 1 # Ici, j'aimerais mettre mon test. Si je ne trouve pas de balise4 dans cB, alors extraction. Mais je bloque print("Nb : " + str(compteur)) except ImportError: print("Mince lxml import ne fonctione pas")
@+ tard
Partager