javax.xml.xpath

接口
异常
public interface XPathExpression

XPathExpression 提供了对编译后的 XPath 表达式的访问。

XPath 表达式的计算。
上下文 如果在没有上下文项的情况下请求计算表达式,则将使用一个空文档节点作为上下文。为计算 XPath 表达式,应将 DocumentFragment 视为 Document 节点。
变量 如果表达式包含变量引用,则其值将通过 XPathVariableResolver 找到。如果变量解析器未定义或解析器对变量返回 null,则引发 XPathExpressionException。在任何单个计算过程中,变量的值必须是不可变的。

函数 如果表达式包含函数引用,则函数将通过 XPathFunctionResolver 找到。如果函数解析器未定义或解析器为函数返回 null,则引发 XPathExpressionException

QNames 表达式中的 QNames 根据 XPath 名称空间上下文来解析。
结果 将计算表达式的结果转换为所需的返回类型的实例。XPathConstants 中定义了有效的返回类型。转换到返回类型的过程遵守 XPath 转换规则。

XPath 表达式不是线程安全的,也不能重入。换句话说,应用程序负责确保在任意给定时刻不能有多个线程使用一个 XPathExpression 对象,且当调用 evaluate 方法时,应用程序不能以递归方式调用 evaluate 方法。

从以下版本开始:
1.5
另请参见:
XML Path Language (XPath) Version 1.0, Expressions

方法摘要
 String evaluate(InputSource source)
          计算指定 InputSource 上下文中编译后的 XPath 表达式并以 String 形式返回结果。
 Object evaluate(InputSource source, QName returnType)
          计算指定 InputSource 上下文中编译后的 XPath 表达式并返回指定类型的结果。
 String evaluate(Object item)
          计算指定上下文中编译后的 XPath 表达式并以 String 形式返回结果。
 Object evaluate(Object item, QName returnType)
          计算指定上下文中的 XPath 表达式并返回指定类型的结果。
 

方法详细信息

evaluate

Object evaluate(Object item,
                QName returnType)
                throws XPathExpressionException

计算指定上下文中的 XPath 表达式并返回指定类型的结果。

有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算

如果 returnType 不是 XPathConstants 中定义的类型之一,则抛出 IllegalArgumentException

如果为 item 提供了 null 值,则将使用一个空文档作为上下文。如果 returnTypenull,则抛出 NullPointerException

参数:
item - 开始上下文(例如节点)。
returnType - 所需的返回类型。
返回:
计算表达式并将计算结果转换为 returnType 所得到的结果 Object
抛出:
XPathExpressionException - 如果不能计算表达式。
IllegalArgumentException - 如果 returnType 不是 XPathConstants 中定义的类型之一。
NullPointerException - 如果 returnTypenull

evaluate

String evaluate(Object item)
                throws XPathExpressionException

计算指定上下文中编译后的 XPath 表达式并以 String 形式返回结果。

此方法调用 evaluate(Object item, QName returnType),其中 returnTypeXPathConstants.STRING

有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算

如果为 itemnull 值,则将使用一个空文档作为上下文。

参数:
item - 开始上下文(例如节点)。
返回:
计算表达式并将计算结果转换为 String 所得到的结果 String
抛出:
XPathExpressionException - 如果不能计算表达式。

evaluate

Object evaluate(InputSource source,
                QName returnType)
                throws XPathExpressionException

计算指定 InputSource 上下文中编译后的 XPath 表达式并返回指定类型的结果。

此方法构建 InputSource 的数据模型,然后对所得文档对象调用 evaluate(Object item, QName returnType)

有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算

如果 returnType 不是 XPathConstants 中定义的类型之一,则抛出 IllegalArgumentException

如果 sourcereturnTypenull,则抛出 NullPointerException

参数:
source - 要对其计算的文档的 InputSource
returnType - 所需的返回类型。
返回:
计算表达式并将计算结果转换为 returnType 所得到的结果 Object
抛出:
XPathExpressionException - 如果不能计算表达式。
IllegalArgumentException - 如果 returnType 不是 XPathConstants 中定义的类型之一。
NullPointerException - 如果 sourcereturnTypenull

evaluate

String evaluate(InputSource source)
                throws XPathExpressionException

计算指定 InputSource 上下文中编译后的 XPath 表达式并以 String 形式返回结果。

此方法调用 evaluate(InputSource source, QName returnType),其中 returnTypeXPathConstants.STRING

有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算

如果 sourcenull,则抛出 NullPointerException

参数:
source - 要对其计算的文档的 InputSource
返回:
计算表达式并将计算结果转换为 String 所得到的结果 String
抛出:
XPathExpressionException - 如果不能计算表达式。
NullPointerException - 如果 sourcenull