javax.xml.xpath中数值类型评估失败的结果是什么

时间:2017-01-30 17:40:34

标签: java xpath

javax.xml.xpath的文档非常薄: 例如,方法evaluate(String expression, Object item, QName returnType)列出了抛出的各种异常,如下所示:

  

抛出:

XPathExpressionException - If expression cannot be evaluated.

IllegalArgumentException - If returnType is not one of the types defined in XPathConstants.

NullPointerException - If expression, source or returnType is null.

现在考虑returnType参数为XPathConstants.NUMBER的情况,该参数应该返回类型为java.lang.Double的对象。如果使用此调用选择的xml表达式类似于

,该怎么办?
<NUMBER_OF_PAGES>garbage</NUMBER_OF_PAGES>

这个调用会抛出一个XpathExpressionException,还是会返回一个像NaN这样的值?这是没有证件的。 Javadocs中填充了XPath规范等的链接,但这个明显的问题在那里没有得到解答。

是的,我知道我可以尝试一下,只是看看它做了什么,但我不应该重新考虑规格来回答这个问题。有谁知道吗?

1 个答案:

答案 0 :(得分:1)

我已经为你试过了。如果您将返回类型指定为Double,则结果仍为XPathConstants.NUMBER。但它显示为NaN。 如果指定XPathConstants.NODE,它将返回空节点列表。