Я хочу, чтобы выбрать все Кассиопеян в B для следующего образца XML:Выбрать первые ребенок
<A>
<B>
<C>want this</C>
<C>don't want this</C>
</B>
<B>
<C>want this, too</C>
<C>still don't want this</C>
</B>
<C>definitely don't want this, or any other c</C>
</A>
Как это возможно? Я попробовал //B/C[1]
, но он вернул только первый элемент. В образце XML я помещаю C вне B, потому что C - это действительно общие элементы, которые могут существовать и в других местах.
Редактировать: Было бы неплохо, если бы xpath мог быть расширен таким образом, чтобы я мог также получить всех вторых детей из B, потому что мне это тоже нужно.
Попробуйте '// B/C [position() = 1]' – Andersson
@Andersson: Это не отличается от '// B/C [1]'. – kjhughes
@kjhughes, и оба должны работать :) – Andersson