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 :

xpath et xml.etree.ElementTree [Python 3.X]


Sujet :

Bibliothèques tierces Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 40
    Points : 23
    Points
    23
    Par défaut xpath et xml.etree.ElementTree
    Bonjour,
    je galère avec un xpath et xml.etree.ElementTree, voici un exemple de xml:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <AAAA xmlns="http://wb/ECO/SSS">
             <BBB xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <CCC>
                   <DDD>
                      <EEE>123456</EEE>
                      <FFF>23/06/2021 16:00:00</FFF>
                      <GGG>23/06/2021 17:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                   <DDD>
                      <EEE>123457</EEE>
                      <FFF>05/07/2021 10:00:00</FFF>
                      <GGG>05/07/2021 11:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                   <DDD>
                      <EEE>123458</EEE>
                      <FFF>19/07/2021 15:00:00</FFF>
                      <GGG>19/07/2021 16:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                </CCC>
                <CodeRetour>1</CodeRetour>
                <Message>blablabla</Message>
             </BBB>
          </AAAA>
       </s:Body>
    </s:Envelope>

    et j'essaye d'avoir tous les EEE sous forme de liste.. help !!!

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import xml.etree.ElementTree as ET
     
    toto = '''<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <AAAA xmlns="http://webres/ECO/Speed">
             <BBB xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <CCC>
                   <DDD>
                      <EEE>123456</EEE>
                      <FFF>23/06/2021 16:00:00</FFF>
                      <GGG>23/06/2021 17:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                   <DDD>
                      <EEE>123457</EEE>
                      <FFF>05/07/2021 10:00:00</FFF>
                      <GGG>05/07/2021 11:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                   <DDD>
                      <EEE>123458</EEE>
                      <FFF>19/07/2021 15:00:00</FFF>
                      <GGG>19/07/2021 16:00:00</GGG>
                      <HHH i:nil="true"/>
                      <III i:nil="true"/>
                   </DDD>
                </CCC>
                <CodeRetour>1</CodeRetour>
                <Message>blablabla</Message>
             </BBB>
          </AAAA>
       </s:Body>
    </s:Envelope>'''
     
     
    print(toto)
     
    root = ET.fromstring(toto)
    print(root.findall("./s/s/AAAA/BBB/CCC/DDD/EEE"))
    merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Il y a des "namespaces" à préciser dans la recherche... voir le how-to Python sur le sujet.

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exceptions lancées par xml.etree.ElementTree
    Par alain35 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/09/2016, 21h58
  2. Réponses: 2
    Dernier message: 12/04/2011, 09h13
  3. Xpath - balise XML
    Par Shinryù dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/01/2009, 19h42
  4. Réponses: 11
    Dernier message: 12/04/2007, 12h28
  5. Requete XPath: neoud XML et string
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 13h02

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