2010-08-29 107 views
1

查看w3schools的xPath(随意给我其他参考资料),您可以选择bookstore的所有孩子,但如果我只想选择第二个书籍元素,该怎么办?我怎样才能做到这一点?在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

至于其他XPath参考:这可能听起来很愚蠢或“过度杀伤”,但读了[w3c XPath建议](http://www.w3.org/TR/xpath/)。通常规格很长,很复杂等。XPath规范有点简短,有很好的例子,只是在同一个地方包含了所有关于坐标轴,函数等的信息。有人可能会说我很奇怪,但我会说这实际上是非常可读的东西。 – jasso 2010-08-29 20:38:52

回答

3

你可以与[n],例如选择第n个元件

/bookstore/book[2] 

有关详细信息,请参阅http://www.w3schools.com/xsl/xpath_syntax.asp中的“谓词”。

+0

位置很少是XML中的一个好选择。更好的是一些其他的细节,允许你选择你关心的节点。 – geoffc 2010-08-30 01:13:16

+0

Off topic:我想你应该在Meta上讨论你的'xsltprocessor'到'xslt'标记同义词提案。或者至少在http://chat.meta.stackoverflow.com/rooms/165/xslt-and-xpath查看聊天讨论 – 2010-08-31 17:46:37