<bookstore>
<book location="US">A1</book>
<category>
<book location="US">B1</book>
<book location="FIN">B2</book>
</category>
<section>
<book location="FIN">C1</book>
<book location="US">C2</book>
</section>
</bookstore>
Итак, учитывая вышеизложенное; Вы можете выбрать первую книгу с помощью
(//book[@location='US'])[1]
И он найдет первый, где есть США. [A1]
//book[@location='US']
Возвращает набор узлов со всеми книгами с местоположением US. [А1, В1, С2]
(//category/book[@location='US'])[1]
Возвращает первое местоположение книги США, которое существует в категории в любом месте документа. [B1]
(/bookstore//book[@location='US'])[1]
вернет первую книгу с местоположением US, которое существует в любом месте под книжным магазином корневого элемента; делая часть книжного магазина избыточной. [A1]
Прямой ответ:
/bookstore/book[@location='US'][1]
Вернет вам первый узел для элемента книги с местоположением US, находящимся в книжном магазине [A1]
Кстати, если хотите, в этом примере найдите первую американскую книгу, которая не была прямым потомком книжного магазина:
(/bookstore/*//book[@location='US'])[1]