2010-08-29 5 views
1

En regardant w3schools pour xPath (n'hésitez pas à me donner d'autres références), vous pouvez sélectionner tous les enfants de bookstore, mais si je voulais seulement sélectionner le second élément du livre? Comment puis je faire ça?Sélection d'un enfant dans xPath

<?xml version="1.0" encoding="ISO-8859-1"?> 

<bookstore> 

<book> 
    <title lang="eng">Harry Potter</title> 
    <price>29.99</price> 
</book> 

<book> 
    <title lang="eng">Learning XML</title> 
    <price>39.95</price> 
</book> 

</bookstore> 
+0

Comme pour les autres références XPath: cela peut sembler stupide ou "surpuissant" mais lisez la [recommandation XPath w3c] (http://www.w3.org/TR/xpath/). Habituellement, les spécifications sont longues, compliquées, etc. La spécification XPath est assez courte, a de bons exemples et contient simplement toutes les informations sur les axes, les fonctions, etc. au même endroit. Certains pourraient dire que je suis bizarre, mais je dirais que c'est en fait assez facile à lire. – jasso

Répondre

3

Vous pouvez sélectionner le nième élément avec [n], par ex.

/bookstore/book[2] 

Voir "prédicats" dans http://www.w3schools.com/xsl/xpath_syntax.asp détail.

+0

Les positions sont rarement un bon choix en XML. Mieux est un autre détail qui vous permet de sélectionner le nœud qui vous intéresse. – geoffc

+0

Hors sujet: Je pense que vous devriez ouvrir une discussion sur Meta à propos de votre proposition de synonyme de balise 'xsltprocessor' à' xslt'. Ou, au moins, consultez la discussion en ligne sur http://chat.meta.stackoverflow.com/rooms/165/xslt-and-xpath –

Questions connexes