所有类


javax.xml.xpath
接口 XPath


public interface XPath

XPath 提供了对 XPath 计算环境和表达式的访问。

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

函数如果表达式包含函数引用,则函数将通过 XPathFunctionResolver 找到,其中 XPathFunctionResolver 是通过 setXPathFunctionResolver(XPathFunctionResolver resolver) 设置的。如果函数解析器未定义或解析器为函数返回 null,则引发 XPathExpressionException

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

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

方法摘要
 XPathExpressioncompile(String expression)
          编译 XPath 表达式供以后计算使用。
 Stringevaluate(String expression, InputSource source)
          计算指定 InputSource 上下文中的 XPath 表达式并返回 String 形式的结果。
 Objectevaluate(String expression, InputSource source, QName returnType)
          计算指定 InputSource 上下文中的 XPath 表达式并返回指定类型的结果。
 Stringevaluate(String expression, Object item)
          计算指定上下文中的 XPath 表达式并返回 String 形式的结果。
 Objectevaluate(String expression, Object item, QName returnType)
          计算指定上下文中的 XPath 表达式并返回指定类型的结果。
 NamespaceContextgetNamespaceContext()
          返回当前的名称空间上下文。
 XPathFunctionResolvergetXPathFunctionResolver()
          返回当前的函数解析器。
 XPathVariableResolvergetXPathVariableResolver()
          返回当前的变量解析器。
 voidreset()
          将此 XPath 重置为其原始配置。
 voidsetNamespaceContext(NamespaceContext nsContext)
          建立名称空间上下文。
 voidsetXPathFunctionResolver(XPathFunctionResolver resolver)
          建立函数解析器。
 voidsetXPathVariableResolver(XPathVariableResolver resolver)
          建立变量解析器。
 

方法详细信息

reset

void reset()

将此 XPath 重置为其原始配置。

XPath 被重置为通过 XPathFactory.newXPath() 创建它时的状态。reset() 在设计上旨在允许重用现有的 XPath,从而节省与创建新 XPath 相关的资源。

不保证重置的 XPath 具有相同的 XPathFunctionResolverXPathVariableResolverNamespaceContextObject,例如 Object.equals(Object obj)。但保证具有功能相同的 XPathFunctionResolverXPathVariableResolverNamespaceContext


setXPathVariableResolver

void setXPathVariableResolver(XPathVariableResolver resolver)

建立变量解析器。

如果 resolvernull,则抛出 NullPointerException

参数:
resolver - Variable 解析器。
抛出:
NullPointerException - 如果 resolvernull

getXPathVariableResolver

XPathVariableResolver getXPathVariableResolver()

返回当前的变量解析器。

如果实际上没有变量解析器,则返回 null

返回:
当前的变量解析器。

setXPathFunctionResolver

void setXPathFunctionResolver(XPathFunctionResolver resolver)

建立函数解析器。

如果 resolvernull,则抛出 NullPointerException

参数:
resolver - XPath 函数解析器。
抛出:
NullPointerException - 如果 resolvernull

getXPathFunctionResolver

XPathFunctionResolver getXPathFunctionResolver()

返回当前的函数解析器。

如果实际上没有函数解析器,则返回 null

返回:
当前的函数解析器。

setNamespaceContext

void setNamespaceContext(NamespaceContext nsContext)

建立名称空间上下文。

如果 nsContextnull,则抛出 NullPointerException

参数:
nsContext - 要使用的名称空间上下文。
抛出:
NullPointerException - 如果 nsContextnull

getNamespaceContext

NamespaceContext getNamespaceContext()

返回当前的名称空间上下文。

如果实际上没有名称空间上下文,则返回 null

返回:
当前的 Namespace 上下文。