Java JxPath:评估'';=0
我正在计算JxPath 1.3中的表达式Java JxPath:评估'';=0,java,xpath,expression,equality,jxpath,Java,Xpath,Expression,Equality,Jxpath,我正在计算JxPath 1.3中的表达式''=0,我希望结果为false。这是我的代码: JXPathContext.newContext(ctaSectionABean).getValue("'' = 0"); 然而,返回的结果是真的!如果我在EclipseJXPath工具中对同一表达式求值,我会得到false,我希望这是正确的,因为第3.4节说: 当两个要比较的对象都不是节点集且运算符为= 或者!=,然后通过将对象转换为公共对象来比较对象 键入以下内容,然后进行比较。如果至少要创建一个对象
''=0
,我希望结果为false。这是我的代码:
JXPathContext.newContext(ctaSectionABean).getValue("'' = 0");
然而,返回的结果是真的!如果我在EclipseJXPath工具中对同一表达式求值,我会得到false,我希望这是正确的,因为第3.4节说:
当两个要比较的对象都不是节点集且运算符为=
或者!=,然后通过将对象转换为公共对象来比较对象
键入以下内容,然后进行比较。如果至少要创建一个对象
compared是一个布尔值,然后将要比较的每个对象转换为
一个布尔函数,就像应用布尔函数一样。否则,如果在
至少有一个要比较的对象是一个数字,然后每个对象都要比较
“比较”将转换为一个数字,就像应用该数字一样
作用否则,要比较的两个对象都将转换为
通过应用string函数将字符串设置为。比较将
当且仅当对象相等时为真;那个!=比较会
当且仅当对象不相等时为真。比较数字
根据IEEE 754[IEEE 754]的规定进行等式计算。两个布尔人是相等的
如果两者都是真的或都是假的。两个字符串相等,如果
并且仅当它们包含相同的UCS字符序列时
因此,因为没有对象是布尔型的,其中一个是数字,所以我希望JxPath尝试将它们都转换为数字。这将是0
的0
和NaN
的'
,我测试了JxPath是否使用number()
函数以这种方式转换它们。这意味着JxPath不会像规范定义的那样尝试将它们转换为数字
这是一个bug吗?是的,如果您的信息是正确的,那么我认为这是一个bug。工作正常吗?(不太熟悉xpath的细节,但似乎≠ 0?)我在邮件列表中发布了完全相同的问题: