我在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,但是我看不到为什么未选择此节点。
答案 0 :(得分:2)
您不应在谓词前加斜杠。这是错误的语法。
只需使用
//myline[@moredata='h']
选择所有满足条件的myline
元素。