接口 | 描述 |
---|---|
XPath |
XPath 提供XPath评估环境和表达。
|
XPathExpression |
XPathExpression 提供编写XPath表达式。
|
XPathFunction |
XPathFunction 提供XPath函数。
|
XPathFunctionResolver |
XPathFunctionResolver 提供访问用户定义的设置
XPathFunction s。
|
XPathVariableResolver |
XPathVariableResolver 提供用户自定义XPath变量集合。
|
类 | 描述 |
---|---|
XPathConstants |
XPath常数。
|
XPathFactory |
一个
XPathFactory 实例可以用来创建
XPath 对象。
|
异常 | 描述 |
---|---|
XPathException |
XPathException 表示泛型XPath例外。
|
XPathExpressionException |
XPathExpressionException 代表一个XPath表达式错误。
|
XPathFactoryConfigurationException |
XPathFactoryConfigurationException 代表一个配置错误在
XPathFactory 环境。
|
XPathFunctionException |
XPathFunctionException 代表误差与XPath函数。
|
这个包提供XPath表达式获取评价环境评价对象模型中立的API。
下面的XML标准应用:
XPath语言提供了一个简单的,用于从XML文档中选取节点简明语法。XPath还提供了用于在XML文档对象模型(DOM)规则转换节点树的一个布尔值,双,或字符串值。XPath是W3C定义的语言和一个正式的W3C推荐;W3C主机的XML路径语言(XPath)1版规范。
XPath开始在生活1999作为XSLT和XPointer语言的补充,但最近已作为一个独立的语言变得流行了,作为一个单一的XPath表达式可以用来代替大量的DOM API代码。
XPath表达式是由一个位置的路径和一个或多个可选谓词。表达式还可以包括XPath变量。
以下是一个简单的XPath表达式的一个例子:
/食品/酒吧
这个例子可以从XML文档中选取下列<bar>
元:
<和> <栏> < / foo > 栏> 和>
表达/foo/bar
是位置路径的一个例子。在XPath定位路径类似于Unix风格的文件系统路径,一个重要的区别是XPath表达式返回表达式匹配的所有节点。因此,所有的三<bar>
元素在以下文件将被/foo/bar
表达式选择:
<和> <栏> <栏> <栏> < / foo > 栏> 栏> 栏> 和>
一个特殊的位置路径算子,//
,选择在XML文档中的任何深度的节点。下面的示例选择所有<bar>
元素,而不管他们的位置在一个文档:
/ /酒吧
通配符运算符,*,使所有元素节点被选择。下面的示例选择一个<foo>
元素的所有子元素:
/食品/ *
除了元素节点的XPath路径位置也可能地址属性节点、文本节点、注释、处理指令节点,节点。下表给出了这些节点类型中的每个位置路径的例子:
Location Path | 描述 |
/foo/bar/@id |
Selects the attribute id of the <bar> element |
/foo/bar/text() |
Selects the text nodes of the <bar> element. No distinction is made between escaped and non-escaped character data. |
/foo/bar/comment() |
Selects all comment nodes contained in the <bar> element. |
/foo/bar/processing-instruction() |
Selects all processing-instruction nodes contained in the <bar> element. |
谓词允许精炼的XPath路径选择的节点。谓词的形式[expression]
。下面的示例包含一个与true
价值include
属性都<foo>
元素:
// Foo [ @包括=真实的]
谓词可以被附加到彼此以进一步细化一个表达式,如:
// Foo [ @包括=真实”] [ @模式= 'bar ]
下面的示例演示如何使用XPath的API从XML文档中选择一个或多个节点:
XPath XPath = xpathfactory。newinstance()。newxpath();字符串表达式=“/小部件/部件”;inputsource inputsource =新inputsource(“部件。XML”);列表(列表)节点的XPath。评价(表达inputsource,xpathconstants。nodeset);
在XPath表达式选择XML文档中的节点,XPath API允许选定的节点被合并到下面的其他数据类型:
Boolean
Number
String
所需的返回类型是指定的方法QName
参数调用进行表达,这是一个叫XPathExpression.evalute(...)
或其中的XPath.evaluate(...)
便利的方法。允许的属性值被指定为在XPathConstants
类常量;他们:
XPathConstants.NODESET
XPathConstants.NODE
XPathConstants.STRING
XPathConstants.BOOLEAN
XPathConstants.NUMBER
当一个Boolean
返回类型的要求,Boolean.TRUE
是如果一个或多个节点的选取返回;否则,Boolean.FALSE
返回。
的String
返回类型是一个从一个文本节点,检索字符数据的便利属性节点、注释节点,或处理指令节点。当在元素节点上使用时,子文本节点的值将被返回。
返回类型的Number
试图融合节点向double
数据类型文本。
XPath路径位置可能与文档中的一个特殊的节点,称为context
。考虑下面的XML文档:
的<widget>
元可以选用以下XPath API代码:
/ /解析XML是W3C的文档documentbuilderfactory DocumentBuilder建造。newinstance()。newdocumentbuilder();文档文档=生成器。解析(新文件(“widget”));XPath XPath = xpathfactory。newinstance()。newxpath();字符串表达式=“/小部件/部件”;widgetnode =(节点)节点的XPath。评价(表达、文档、xpathconstants。节点);
有一个参考的<widget>
元,相对XPath表达式可以写选择<manufacturer>
子元素:
XPath XPath = xpathfactory。newinstance()。newxpath();字符串表达式=“制造商”;manufacturernode =(节点)节点的XPath。评价(表达widgetnode,xpathconstants。节点);
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.