2010-08-29 3 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

ответ

3

Можно выбрать п-й элемент с [n], например

/bookstore/book[2] 

См "предикаты" в http://www.w3schools.com/xsl/xpath_syntax.asp для деталей.

+0

Позиции редко являются хорошим выбором в XML. Лучше еще некоторые детали, которые позволяют вам выбрать нужный вам узел. – geoffc

+0

Непонятная тема: Я думаю, вам стоит открыть дискуссию о Meta о вашем предложении 'xsltprocessor' в синониме тэга' xslt'. Или, по крайней мере, проверьте обсуждение чата на странице http://chat.meta.stackoverflow.com/rooms/165/xslt-and-xpath. – 2010-08-31 17:46:37

Смежные вопросы