2 ответов:
имея следующий XML:
<node>Text1<subnode/>text2</node>Как выбрать первый или второй текстовый узел через XPath?
использовать:
/node/text()при этом выбираются все дочерние элементы текстового узла верхнего элемента (с именем "узел") XML-документа.
/node/text()[1]при этом выбирается первый дочерний текстовый узел верхнего элемента (с именем "узел") XML-документа.
/node/text()[2]при этом выбирается второй текстовый узел дочерний элемент верхнего элемента (с именем "узел") XML-документа.
/node/text()[someInteger]это выбирает someInteger-й текстовый узел дочернего верхнего элемента (с именем "узел") XML-документа. Это эквивалентно следующему выражению XPath:
/node/text()[position() = someInteger]
ваш xpath должен работать . я протестировал ваш xpath и мой в реализации MarkLogic и Zorba Xquery/ Xpath.
как должно работать.
/node/child::text()[1] - should return Text1 /node/child::text()[2] - should return text2 /node/text()[1] - should return Text1 /node/text()[2] - should return text2
Comments