【问题标题】:when does XPathExpression.evaluate throw?XPathExpression.evaluate 什么时候抛出?
【发布时间】:2011-11-10 13:41:50
【问题描述】:

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

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

因此,当evaluate 发送文档时,有效的XPathExpression仍然会抛出我有点惊讶,尤其是根据它的描述,

XPathExpressionException 表示 XPath 表达式中的错误

这有意义吗? compiled 表达式还能出错吗?

【问题讨论】:

    标签: java exception xpath semantics


    【解决方案1】:

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

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

    XPath 1.0 被设计成很少有动态错误。 count(3) 就是一个例子,这是一个错误,因为 count() 只能应用于节点集。在 XPath 2.0 中可能存在更多动态错误。

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 1970-01-01
      • 2011-10-27
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多