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规范等的链接,但这个明显的问题在那里没有得到解答。
是的,我知道我可以尝试一下,只是看看它做了什么,但我不应该重新考虑规格来回答这个问题。有谁知道吗?
答案 0 :(得分:1)
我已经为你试过了。如果您将返回类型指定为Double
,则结果仍为XPathConstants.NUMBER
。但它显示为NaN
。
如果指定XPathConstants.NODE
,它将返回空节点列表。