VB NET XPath不会基于值选择节点

时间:2019-06-25 17:00:28

标签: xpath

我在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']

想法是当“ moreData”等于h时选择“ myline”节点

我仅在最近几个小时内遇到过XPath,但是我看不到为什么未选择此节点。

1 个答案:

答案 0 :(得分:2)

您不应在谓词前加斜杠。这是错误的语法。
只需使用

//myline[@moredata='h']

选择所有满足条件的myline元素。