发布
社区首页 >问答首页 >XPath布尔表达式总是返回True

XPath布尔表达式总是返回True
EN

Stack Overflow用户
提问于 2017-08-08 20:57:55
回答 2查看 3.8K关注 0票数 0

我正在使用XPath的Java计算下面的XPath布尔表达式。但是,表达式总是返回true。

boolean(//InteractionControl/MessageIdtext() = "fdsfsd")

XML文档中MessageId节点的文本值是"9000“,因此,除非我遗漏了什么,否则上面的XPath表达式应该返回false。

EN

回答 2

Stack Overflow用户

发布于 2017-08-08 21:10:27

如果count(//InteractionControl/MessageId[text() = "fdsfsd"])不是0,则xpath与非空节点集匹配,从而将boolean()函数解析为true。见此处:https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/boolean

票数 3
EN

Stack Overflow用户

发布于 2017-08-09 16:59:36

我通过使用XPath API中的“计算”函数解决了这个问题,该函数使用一个参数指定返回类型。

代码语言:javascript
代码运行次数:0
复制
Boolean evaluation = xPath.compile(xPathStr).evaluate(xmlDocument, XPathConstants.BOOLEAN)

也许不接受指定返回类型的参数的“计算”函数有错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45577910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档