XPath 语句没有 return 值,但 true 或 false

XPath Statement doesn´t return value, but true or false

使用函数添加命名空间后:

var select = useNamespaces({ns1: "http://pippo.com/schema"})

我使用以下语句:

var Objects = select("//ns1:References/ns1:Reference[@ReferenceType="+typeofref+"]/text()="+id.toString(), ns);

我想要的输出是 ReferenceType = typeofref 和 text() = id 的所有引用

我得到的输出是:True

它似乎找到了一些东西,但它只是说有元素,但它没有检索到它。有人知道为什么吗?

xm 文件是这个:

https://raw.githubusercontent.com/OPCFoundation/UA-Nodeset/master/Robotics/Opc.Ua.Robotics.NodeSet2.xml

您的 XPath 以 = + 一些字符串 结尾,因此只会 return truefalse .

改变

"//ns1:References/ns1:Reference[@ReferenceType="+typeofref+"]/text()="+id.toString()

"//ns1:References/ns1:Reference[@ReferenceType="+typeofref+" and .="+id.toString()+"]"

为了 select 所有 ns1:References/ns1:Reference 元素 @ReferenceType 属性的 typeofref 值和字符串值 id.toString().