Использование XPath в SelectSingleNode: Получение отдельного элемента от XML, если это присутствует

Так что это поздний ответ, но я считаю, что это проект, который вы ищете:

Railway.js

Это своего рода крест между Rails & amp; Узел / Экспресс / Mongoose. Если вы ищете Rails of Node.JS, это, кажется, самое близкое.

13
задан Alex B 20 May 2009 в 05:25
поделиться

1 ответ

Думаю, вам нужно:

myXMLdoc.SelectSingleNode("/itemSet/Item[text()='two']")

Другими словами, вам нужен Item , который имеет текст, равный двум, а не содержащий его itemSet .

Вы также можете использовать одну точку для обозначения узла контекста, в вашем случае:

myXMLdoc.SelectSingleNode("/itemSet/Item[.='two']")

EDIT: разница между . а текст () - это . фактически означает «этот узел», а text () означает «все дочерние текстовые узлы этого узла». В обоих случаях сравнение будет со "строковым значением" LHS. Для узла элемента строковое значение - это «конкатенация строковых значений всех текстовых узлов-потомков узла элемента в порядке документа», а для коллекции текстовых узлов сравнение будет проверять, равен ли какой-либо текстовый узел тот, против которого вы тестируете.

23
ответ дан 1 December 2019 в 22:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: