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 :

[XPATH] [Débutant] Sélectionner un noeud d'après la valeur de ses noeuds fils


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut [XPATH] [Débutant] Sélectionner un noeud d'après la valeur de ses noeuds fils
    Bonjour,
    j'ai un document XML qui contient un ou plusieurs auteurs.
    Pour chaque auteur on a quelques informations : nom, prénom, adresse mail, et un petit texte de présentation (biographie) :
    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
    <author>
          <name type="firstname">Dupont</name>
          <name type="surname">Jean</name>
          <address>
                <addrLine n="mel">jean.dupont@undomaine.com</addrLine>
                <addrLine n="etablissement">AZERTY</addrLine>
          </address>
          <add>
                Jean Dupont est né en 1964 à balbalabla il a fait blablabla et écrit blablbla ...
          </add>
    </author>
    <author>
          <name type="firstname">Durand</name>
          <name type="surname">Pierre</name>
          <address>
                <addrLine n="mel">pierre.durand@unautredomaine.com</addrLine>
                 <addrLine n="etablissement">QSDFGH</addrLine>
           </address>
           <add>
                 Pierre Durand est né en 1976 à balbalabla il a fait blablabla et écrit blablbla ...
           </add>
     </author>
    Je voudrais écrire la requete XPATH qui me permet de sélectionner le noeud author qui correspond à un nom et un prénom donnés (ex : Jean Dupont) afin de pouvoir travailler sur ce noeud pour en extraire d'autres données (ex : biographie).
    Mais je n'ai aucune idée de la syntaxe qui me permet de faire ça (mes connaissances en XPATH sont très limitées).
    Est-ce que quelqu'un pourrait m'expliquer un peu (pas forcément me faire la requête toute prête mais au moins me mettre sur la bonne piste) ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //author[name[@type='firstname'] = 'Dupont' and name[@type='surname'] = 'Jean']
    Sachant qu'un prédicat (expression entre []) est un « filtre » permettant de sélectionner ou nom l'élément qui le précéde selon qu'il renvoie true ou false, que le précidat est évalué en prenant l'élément qui le précède comme contexte, et que @ est l'abbréviation de l'axe attribute::, le sens de cette expression devrait couler de source.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Dans le mille Émile !
    le sens de cette expression devrait couler de source
    Euh ... ouais ouais, bien sûr ... facile ... c'était juste pour voir si tu suivais
    Non, plus sérieusement lorsque je vois cette expression je comprends comment elle marche mais j'aurais été incapable de la trouver moi-même (ou alors au bout de deux semaines peut-être) ... j'ai encore beaucoup à apprendre sur XPath
    Rien que pour comprendre ton explication j'ai du la relire au moins 5 fois.
    Merci beaucoup en tout cas tu viens de m'éviter une sacrée prise de tête et de prendre (encore plus) de retard sur mon projet

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 25/03/2014, 13h17
  2. [XPATH] Débutant: Sélectionner un ou plusieurs noeuds
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 07/12/2007, 10h30
  3. Débutant : sélectionner un répertoire
    Par Alouka dans le forum MFC
    Réponses: 3
    Dernier message: 11/10/2006, 11h52
  4. [C#] XML -> parcourir des noeuds un après l'autre ?
    Par TheParadoX dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/09/2006, 17h14
  5. [XPATH] test sur la valeur d un noeud
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/02/2006, 09h54

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