Par exemple :
//person[@id='abc123']/@haircolor|/@weight"
PS. il y a beaucoup d'enregistrements de "personnes".
Par exemple :
//person[@id='abc123']/@haircolor|/@weight"
PS. il y a beaucoup d'enregistrements de "personnes".
Vous souhaitez rechercher des nœuds de personnes sur la base de la valeur de plusieurs attributs. Si c'est le cas, vous pouvez utiliser des ands, par exemple
//person[@id='abc123' and @haircolor='blue' and @weight='...']
Si vous souhaitez effectuer une recherche sur un seul attribut, mais renvoyer les valeurs des autres attributs, je ferais quelque chose comme ceci :
<xsl:template match="person[@id='abc123']">
<xsl:value-of select="@haircolor"/>
<xsl:value-of select="@weight"/>
</xsl:template>
Si vous essayez d'obtenir les valeurs des attributs spécifiés, je suggérerais d'introduire une variable pour la personne demandée.
<xsl:variable name="person" select="//person[@id = 'abc123']" />
Ensuite, vous pouvez obtenir n'importe quel attribut de la personne demandée en utilisant la variable spécifiée.
<xsl:value-of select="$person/@haircolor" />
<xsl:value-of select="$person/@weight" />
Exemple de XML :
<X>
<Y ATTRIB1=attrib1_value ATTRIB2=attrib2_value/>
</X>
string xPath="/" + X + "/" + Y +
"[@" + ATTRIB1 + "='" + attrib1_value + "']" +
"[@" + ATTRIB2 + "='" + attrib2_value + "']"
Banc d'essai XPath : http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.