IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

Parser du Xml avec Lxml


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 46
    Par défaut Parser du Xml avec Lxml
    Bonjour,

    Malgré mes recherches je ne comprend pas comment extraire les données d'un xml de la manière suivante :

    Exemple de structure Xml ou N représente un niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    N
        N1
             N1.1
             N1.2
             N1.3
        N2
             N2.1
             N2.2
             N2.3
    En fait j'arrive à extraire les données d'une manière "globale" mais ce que je souhaite faire c'est boucler sur les nœuds du niveau inférieur à Nx puis passer à Nx+1 et extraire ensuite ses niveaux inférieurs, etc...
    Merci pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    Citation Envoyé par cazadeis Voir le message
    En fait j'arrive à extraire les données d'une manière "globale" mais ce que je souhaite faire c'est boucler sur les nœuds du niveau inférieur à Nx puis passer à Nx+1 et extraire ensuite ses niveaux inférieurs, etc..
    Un document XML est un arbre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> print(etree.tostring(root, pretty_print=True))
    <a>
      <b>
        <c>1</c>
        <d>2</d>
      </b>
      <e>
        <c>3</c>
        <d>4</d>
      </e>
    </a>
    et on se balade dans les arbres de façon récursive:
    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
    16
    17
    18
    19
    20
    >>> def show(node, level=0):
    ...     print(level, node, node.text)
    ...     for z in node:
    ...         display(node, level+1)
    ...
    >>> show(root)
    (0, <Element a at 0x209bcb0>, None)
    (<Element b at 0x209b5d0>, None)
    (<Element c at 0x209b530>, '1')
    (<Element d at 0x209b350>, '2')
    (<Element e at 0x209bf30>, None)
    (<Element c at 0x209b558>, '3')
    (<Element d at 0x209b300>, '4')
    (<Element b at 0x209b620>, None)
    (<Element c at 0x209b300>, '1')
    (<Element d at 0x209b378>, '2')
    (<Element e at 0x209bf30>, None)
    (<Element c at 0x209b378>, '3')
    (<Element d at 0x209b350>, '4')
    >>>
    puisqu'on connaît la profondeur (level) à laquelle on est, on sait ajouter une condition comme si plus petit ou plus grand pour afficher ou pas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. parser du xml avec Hpricot
    Par debutant_linux dans le forum Ruby
    Réponses: 3
    Dernier message: 03/02/2009, 01h14
  2. [SimpleXML] Parser un XML avec SimpleXML_Load_File
    Par mathieu3392 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/10/2007, 11h11
  3. parser du xml avec java
    Par 080983 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/07/2007, 09h56
  4. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  5. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/10/2005, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo