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 :

expression xpath d'une balise


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Points : 12
    Points
    12
    Par défaut expression xpath d'une balise
    Salut,
    ceci est un extrait d'un doc html dans lequel il y a une panoplie d'attribut class égal à soit "app1" soit "app2" et "colspan" est toujours égal à 3.
    Mon problème est de savoir quelle expression xpath écrire pour récupérer par exemple le texte "miranda" ou "titi"?

    merci d'avance de me répondre car c'est assez urgent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ………
    <tr><td class="app1" colspan="3">titi</td></tr>
    <tr><td class="app2" colspan="3">tamo</td></tr>
    <tr><td class="app2" colspan="3">miranda</td></tr>
    <tr><td class="app2" colspan="3">rigolo</td></tr>

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    Bonjour,

    dans l'urgence, je dirais :


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Points : 12
    Points
    12
    Par défaut question sans réponse
    j'ai posé une question et je suis étonné de cette réponse. y ' a t-il une règle du forum que je n'ai pas respectée? si oui, bien vouloir me l'indiquer.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    '.' est le xpath qui renverra le texte lorsque tu as sélectionné le noeud 'td' que tu souhaites. A noter que 'text()' serait aussi un xpath valide.
    Etant donné que tu ne donnes aucun critère pour sélectionner le noeud, on ne peut pas être plus précis.

    Allez en imaginant un peu que ce soit l'attribut 'class' ton critère de sélection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //tr/td[@class='app1']/.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Points : 12
    Points
    12
    Par défaut conflits éventuel d'expression xpath
    mais, il y' a plusieurs textes associés à ton expression xpath, par exemple si on choisi app2, on a "rigolo", "miranda", "tamo".
    1) si je veux par exemple spécifier un cas précisément comment faire?

    2) ou bien y 'a t-il un moyen xpath qui permet d'afficher tous les textes correspondant à ces noeuds répétitifs en cas d'ambiguité?

    merci

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Quel est ton critère d'unicité?
    Si un xpath renvoie plusieurs noeuds, il faut les traiter un par un. Tu ne peux pas concatener leurs résultat automatiquement (pas en XPATH 1.0 du moins).
    Tu peux faire ce genre de chose pour sélectionner le premier des noeuds :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //tr/td[@class='app1'][1]/.
    Je t'ai mis un exemple pour te montrer que tu nous avais parlé du résultat que tu voulais retourner, mais pas du critère de sélection du noeud.

  7. #7
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    En fait, on a besoin de plus d'informations (ou tout du moins d'informations pertinnantes) afin de pouvoir solutionner ton soucis.

    Notons tout de même :
    - que tu travail avec du HTML, qui n'est pas du XML !
    - comme l'indique clairement Morbo, il faut un critère d'unicité.
    - une expression XPath n'a toute sa signification que lorsqu'on
    connais son contexte.
    - "un moyen xpath qui permet d'afficher tous les textes correspondant à ces noeuds répétitifs en cas d'ambiguité ?"
    oui, si j'ai bien "deviner" ta question, et on utiliserait alors l'expression : //tr/td[@class='app2']/.

Discussions similaires

  1. Expression réguliere décrivant une balise XML
    Par jeyflip dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 06/05/2011, 16h10
  2. [XPATH] expression d'une balise
    Par ngouagme dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/07/2010, 17h25
  3. [XSD] [Xpath]Récupérer le Xpath d'une balise durant une validation XSD
    Par Amidal dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 19/03/2010, 22h51
  4. Expression régulière lié à une balise html
    Par chris_013 dans le forum JSF
    Réponses: 3
    Dernier message: 28/05/2009, 14h34
  5. [Xpath] Expression XPath pour une commande
    Par nicolas66 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 20/04/2007, 18h10

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