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

XSL/XSLT/XPATH XML Discussion :

Extraction d'un seul attribut d'une balise en contenant plusieurs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Extraction d'un seul attribut d'une balise en contenant plusieurs
    Bonjour,
    Je débute en XML et je m'entraîne à créer des requêtes XPath avec Python, sous Linux.
    J'ai un petit souci que je n'arrive pas à comprendre:
    Je suis face à ce document XML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <racine>
        <lem id='a1' att='nom'>
            <mot>école</mot>
        </lem>
        <lem id='a2' att='adjectif'>
            <mot>petit</mot>
        </lem>
    </racine>

    Et je souhaite extraire les uniquement les attributs "att" des balises <lem>.
    J'ai donc écrit le programme en Python suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import xml.etree.ElementTree as ET
    fichier = ("entrée.xml")
    tree=ET.parse(fichier)
    root = tree.getroot()
     
    for attribut in root.findall(".//lem/@att"):
        print (attribut.attrib)
    Sauf que je n'ai en sortie qu'un message d'erreur:Key error :@
    Je ne comprends pas d'où vient le problème, pouvez-vous m'aider? merci d'avance!

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    la doc de Python indique que xml.etree ne gère qu'un minuscule sous-ensemble du langage XPath, pas XPath lui-même.

    Et d'ailleurs il n'existe aucun moyen de représenter un attribut, donc forcément tu ne risques pas d'arriver quelque part en essayant d'en sélectionner un.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour la réponse rapide!
    Je viens de faire à nouveau quelques recherches, et j'ai trouvé la fonction get qui me donne ce que je veux!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import xml.etree.ElementTree as ET
     
    fichier = ("entrée.xml")
    tree = ET.parse(fichier)
    root = tree.getroot()
     
     
    for attribut in root.findall(".//lem"):
         print (attribut.get("att"))

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

Discussions similaires

  1. [DOM] RegEx - Suppression d'attributs dans une balise
    Par jumbay dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 17/10/2007, 20h40
  2. Réponses: 3
    Dernier message: 11/06/2007, 12h33
  3. compter attributs dans une balise
    Par attavus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/07/2006, 17h22
  4. Accès aux attributs d'une balise HTML
    Par tatou42 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/02/2006, 14h01
  5. Modif des attributs d'une balise <param> en javascript
    Par Henri dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/08/2005, 22h20

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