public interface XPathExpression
XPathExpression
提供了对编译后的 XPath 表达式的访问。
XPath 表达式的计算。 | |
---|---|
上下文 | 如果在没有上下文项的情况下请求计算表达式,则将使用一个空文档节点作为上下文。为计算 XPath 表达式,应将 DocumentFragment 视为 Document 节点。 |
变量 | 如果表达式包含变量引用,则其值将通过 XPathVariableResolver 找到。如果变量解析器未定义或解析器对变量返回 null ,则引发 XPathExpressionException 。在任何单个计算过程中,变量的值必须是不可变的。 |
函数 | 如果表达式包含函数引用,则函数将通过 XPathFunctionResolver 找到。如果函数解析器未定义或解析器为函数返回 null ,则引发 XPathExpressionException 。 |
QNames | 表达式中的 QNames 根据 XPath 名称空间上下文来解析。 |
结果 | 将计算表达式的结果转换为所需的返回类型的实例。XPathConstants 中定义了有效的返回类型。转换到返回类型的过程遵守 XPath 转换规则。 |
XPath 表达式不是线程安全的,也不能重入。换句话说,应用程序负责确保在任意给定时刻不能有多个线程使用一个 XPathExpression
对象,且当调用 evaluate
方法时,应用程序不能以递归方式调用 evaluate
方法。
方法摘要 | |
---|---|
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 表达式并返回指定类型的结果。 |
方法详细信息 |
---|
Object evaluate(Object item, QName returnType) throws XPathExpressionException
计算指定上下文中的 XPath 表达式并返回指定类型的结果。
有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算。
如果 returnType
不是 XPathConstants
中定义的类型之一,则抛出 IllegalArgumentException
。
如果为 item
提供了 null
值,则将使用一个空文档作为上下文。如果 returnType
为 null
,则抛出 NullPointerException
。
item
- 开始上下文(例如节点)。
returnType
- 所需的返回类型。
returnType
所得到的结果
Object
。
XPathExpressionException
- 如果不能计算表达式。
IllegalArgumentException
- 如果
returnType
不是
XPathConstants
中定义的类型之一。
NullPointerException
- 如果
returnType
为
null
。
String evaluate(Object item) throws XPathExpressionException
计算指定上下文中编译后的 XPath 表达式并以 String
形式返回结果。
此方法调用 evaluate(Object item, QName returnType)
,其中 returnType
为 XPathConstants.STRING
。
有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算。
如果为 item
为 null
值,则将使用一个空文档作为上下文。
item
- 开始上下文(例如节点)。
String
所得到的结果
String
。
XPathExpressionException
- 如果不能计算表达式。
Object evaluate(InputSource source, QName returnType) throws XPathExpressionException
计算指定 InputSource
上下文中编译后的 XPath 表达式并返回指定类型的结果。
此方法构建 InputSource
的数据模型,然后对所得文档对象调用 evaluate(Object item, QName returnType)
。
有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算。
如果 returnType
不是 XPathConstants
中定义的类型之一,则抛出 IllegalArgumentException
。
如果 source
或 returnType
为 null
,则抛出 NullPointerException
。
source
- 要对其计算的文档的
InputSource
。
returnType
- 所需的返回类型。
returnType
所得到的结果
Object
。
XPathExpressionException
- 如果不能计算表达式。
IllegalArgumentException
- 如果
returnType
不是
XPathConstants
中定义的类型之一。
NullPointerException
- 如果
source
或
returnType
为
null
。
String evaluate(InputSource source) throws XPathExpressionException
计算指定 InputSource
上下文中编译后的 XPath 表达式并以 String
形式返回结果。
此方法调用 evaluate(InputSource source, QName returnType)
,其中 returnType
为 XPathConstants.STRING
。
有关上下文项计算、变量、函数和 QName 解析,以及返回类型转换,请参阅 XPath 表达式的计算。
如果 source
为 null
,则抛出 NullPointerException
。
source
- 要对其计算的文档的
InputSource
。
String
所得到的结果
String
。
XPathExpressionException
- 如果不能计算表达式。
NullPointerException
- 如果
source
为
null
。