Так что это поздний ответ, но я считаю, что это проект, который вы ищете:
Это своего рода крест между Rails & amp; Узел / Экспресс / Mongoose. Если вы ищете Rails of Node.JS, это, кажется, самое близкое.
Думаю, вам нужно:
myXMLdoc.SelectSingleNode("/itemSet/Item[text()='two']")
Другими словами, вам нужен Item , который имеет текст, равный двум, а не содержащий его itemSet
.
Вы также можете использовать одну точку для обозначения узла контекста, в вашем случае:
myXMLdoc.SelectSingleNode("/itemSet/Item[.='two']")
EDIT: разница между .
а текст ()
- это .
фактически означает «этот узел», а text ()
означает «все дочерние текстовые узлы этого узла». В обоих случаях сравнение будет со "строковым значением" LHS. Для узла элемента строковое значение - это «конкатенация строковых значений всех текстовых узлов-потомков узла элемента в порядке документа», а для коллекции текстовых узлов сравнение будет проверять, равен ли какой-либо текстовый узел тот, против которого вы тестируете.