lxml

Rédigé par Paulo Aucun commentaire
Classé dans : Python Mots clés : lxml

 

 

 

 

Lecture/Ecriture fichier xml en python
La bibliothèque lxml ne fait pas partie des bib standard.
Il est sonc nécessaire d'installer le module xml.etree.ElementTree.
C'est parti (sur une RedHat Like...) :
 # yum install python-lxml
Et hop, c'est fait  ;)


Lecture d'un fichier xml :



#!/usr/bin/python -u
# -*- coding:utf-8 -*-
#
#import du module
from lxml import etree as ET 

#nom du fichier a parser
tree = ET.parse('mon_fic.xml')

#utilisation de la méthode xpath
for node in tree.xpath('//group'):
   print node.tag,' ' , node.text

 

Liste des options possible de xpath :
- '/comps/group' renvoie tous les noeuds "group" depuis la racine

- '//group' pareil mais dans n'importe quel noeud (prudence...)

- 'comps/group/*' récupère tous les tags inclus dans les noeuds 'group' de 'comps'

- '/comps/group[1] renvoie le premier "group"

- /comps/group[last] renvoie le dernier "group"

- /comps/group[position() <2] récupère les 2 premiers noeud "group".

- '/bibliotheque/livre[annee>=2011]/titre retourne les noeuds "livre" pour lesquels il existe un noeud "anne" ayant une valeure supérieure à 2011 et récupère le titre.

- '//livre/[@lang='fr'] renvoie tous les livres ayant un attribt 'lang' égal à 'fr'

-'//livre/@lang' désigne tous les attributs 'lang' asociés à un noeud "livre"

- '/comps/group | /comps/category' permet de rechercher les noeuds 'group' et 'category' dans comps.

- '/comps/group[contains(., "Python")]' permet de retourner les "group" qui contiennent "Python"



 

Les commentaires sont fermés.