VB NET XPath не будет выбирать узел на основе значения - PullRequest
0 голосов
/ 25 июня 2019

У меня есть узел в файле XML, для которого мне нужно выбрать.Чтобы выбрать, я должен посмотреть на одно из значений элемента.После выбора я организую удаление всего узла из файла.

У нас есть структура, которая занимается выбором узлов, однако в настоящее время я получаю следующую ошибку: Expression must evaluate to a node-set.

Все, что делает фреймворк, принимает XMLElement и XPath и использует то, что выглядит как определенная функция с именем .selectNode(xPath), чтобы найти узел.Это то, что выдает вышеуказанную ошибку.

Мой набор данных XML (который является элементом XMLElement) выглядит следующим образом:

<topParent value1="a" value2 = "b">
     <att1 value3="c" value4 = "d">
        <myline data="e" moredata="f" />
        <myline data="g" moredata="h" />
     </att1>
</topParent>

, а мой xPath для выбора выглядит следующим образом: //myline/[@moredata='h']

Идея состоит в том, чтобы выбрать узел «myline», когда «moreData» равен h

Я только сталкивался с XPath за последние несколько часов, но я не могу понять, почему этот узел не работаетвыбран.

1 Ответ

2 голосов
/ 25 июня 2019

Вы не должны ставить косую черту перед предикатом.Это неправильный синтаксис.
Просто используйте

//myline[@moredata='h']

, чтобы выбрать все элементы myline, которые удовлетворяют условию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...