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][PHP5] Récuperer la valeur d'un attribut


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut [XPath][PHP5] Récuperer la valeur d'un attribut
    Bonjour,
    Je cherche desesperement un moyen de faire une selection sur un element afin de recuperer d'autres elements mais surtout la valeur d'un attribut...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Images>
    <Img id="1" chem="/Tofs/00042813.jpg"  dateI="AAAAMMJJ">
    		<Infos consultable="0">
    			<Titre>Premiere</Titre>
    			<Themes>
    				<th>Chimie</th>
    				<th>Biologie</th>
    				<th>Materiaux</th>
    			</Themes>
                    </Infos>
    </Img>
    </Images>
    Par exemple ici je souhaite obtenir la valeur des attributs "chem" et "dateI" de tous les élements qui ont un "th" qui a pour valeur "Chimie", ainsi que le "titre".

    La requete /Images/Img/@chem retourne les valeurs de tous mes attributs "chem" , comment filtrer le resultat avec la condition que Themes/th contienne "Chimie" ?

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<xsl:template match="//th">
     
    		<xsl:if test="contains(text(),'Chimie')">
    		<xsl:value-of select="ancestor::Img/@chem"/>
     
    		</xsl:if>
     
    	</xsl:template>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut
    Il se trouve que j'ai besoin de cette requête xpath pour un code en php5... Sans utiliser de xsl ce n'est pas possible ?

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //Img[.//Themes/th="Chimie"]/@chem
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut
    Citation Envoyé par Swoög
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //Img[.//Themes/th="Chimie"]/@chem
    Merci Swoog !! C'est exactement ce que je cherchais

    Petite précision : pour obtenir par exemple les titres correspondants je fais :
    //Img[.//Themes/th="Chimie"]/@chem|//Img[.//Themes/th="Chimie"]//Titre

    Est-ce la seule solution de combiner les selections en répetant la condition ou y a t'il un raccourci dans le cas d'un grand nombre d'élements à selectionner ?

    2eme question Est-il possible de combiner les conditions ? //Img[.//Themes/th="Chimie"]/@chem |//Img[.//Titre="Premiere"] ca passe pas

  6. #6
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

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

    Citation Envoyé par laetyboop
    2eme question Est-il possible de combiner les conditions ? //Img[.//Themes/th="Chimie"]/@chem |//Img[.//Titre="Premiere"] ca passe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //Img[Infos/Themes/th = 'Chimie' and Infos/Titre = 'Premiere']/@chem
    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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/03/2009, 21h18
  2. Filtrer sur une valeur d'un attribut XPATH
    Par jbnoel dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/01/2008, 10h00
  3. [XPATH] Selectionner un noeud selon la valeur de son attribut
    Par Gregco dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/10/2007, 15h34
  4. Réponses: 11
    Dernier message: 12/04/2007, 12h28
  5. [XPath]fonction récupérer plus grand valeur d'un attribut ?
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 18/05/2006, 14h27

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