gpt4 book ai didi

java - XPathExpression.evaluate 何时抛出?

转载 作者:行者123 更新时间:2023-12-02 08:49:44 26 4
gpt4 key购买 nike

浏览 XPath.compile API,我的印象是它会返回一个有效的 XPathExpression 或抛出。

事实上,任何编译器都会返回一个不可“运行”的对象,这是没有意义的。

因此,我有点惊讶的是,在评估文档时,有效的XPathExpression仍然会抛出异常,特别是根据它的描述,

XPathExpressionException represents an error in an XPath expression

这有道理吗? compiled 表达式还会有错误吗?

最佳答案

XPath 表达式中的静态错误(例如不正确的 XPath 语法,或对未定义的函数、变量或命名空间的引用)将从compile() 方法中引发错误。

XPath 表达式中的动态错误将会从evaluate() 方法中引发异常。

XPath 1.0 的设计目的是减少动态错误。其中一个示例是 count(3),这是一个错误,因为 count() 只能应用于节点集。在 XPath 2.0 中,可能存在更多动态错误。

关于java - XPathExpression.evaluate 何时抛出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7307471/

26 4 0