七、在Java中使用Xpath
在java1.5中推出了一个javax.xml.xpath包专门用来在java中使用Xpath表达式来读取xml。
1. 数据类型
在学习之前首先需要注意的是:Xpath的数据并不与Java有一一对应关系,Xpath1.0只声明了四种数据类型:
node-set
number
boolean
string
对应到java就是:
number 映射为 java.lang.Double
string 映射为 java.lang.String
boolean 映射为 java.lang.Boolean
node-set 映射为 org.w3c.dom.NodeList
因此,在使用java的xpathAPI时,需要注意返回类型:
public Object evaluate(Object item, QName returnType)throws XPathExpressionException;
public String evaluate(Object item)throws XPathExpressionException;
public Object evaluate(InputSource source, QName returnType)throws XPathExpressionException;
public String evaluate(InputSource source)throws XPathExpressionException;
不指定返回类型时,缺省返回类型为String。指定返回类型时,需要把返回值由Object类型强制转换成对应的返回类型。
2. API的使用
类似于Dom,要得到一个Xpath对象,可以如下使用:
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expression = xpath.compile("/bookstore//book/title/text()");
还是以之前的xml文档为例。要得到这个表达式的结果,我们先要得到一个输入对象,例如一个document:
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new File("books.xml"));
NodeList list = (NodeList) expression.evaluate(document,XPathConstants.NODESET);
这里可以看出,在使用Xpath的时候,我们好像需要很清楚的知道返回结果是什么。否则就不能得到意想的结果。
最后,我们得到一个title的list值:
for(int i = 0;i<list.getLength();i++){
System.out.println(list.item(i).getNodeValue());
}
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
分享到:
相关推荐
### 使用路径表达式在 XML 文档中进行导航 (XPath 简介) #### 一、XPath 的定义 XPath 是一种用于查找 XML 文档中的信息的语言。它使用路径表达式来选择 XML 文档中的节点或集合节点。XPath 被设计为 XSLT、...
#### XPath简介 XPath是一种在XML文档中查找信息的语言,它用于在复杂的XML结构中定位特定的元素或属性。XPath对于理解并操作XML文档至关重要,尤其在XSLT转换、XQuery查询及XPointer定位中扮演核心角色。 #### ...
#### 一、XPath简介 XPath 是一门专门用于在 XML 文档中查找信息的语言。它能够帮助用户有效地浏览 XML 文档结构,并从中抽取特定数据。XPath 的重要性不仅体现在其本身的功能上,还在于它是 W3C XSLT 标准的关键...
#### 一、XPath简介与节点类型 XPath是一种用于导航XML文档的语言。它使用路径表达式来选择XML文档中的节点或集合。XPath可以用来在XML文档中定位到任何位置,并且能够非常方便地提取所需的数据。XPath支持以下七种...
#### XPath简介 XPath是一种用于在XML文档中查找信息的强大查询语言,同时也适用于HTML文档的解析。XPath允许我们通过元素和属性来进行导航,并从中提取所需的信息。相较于复杂的正则表达式,XPath提供了更为简洁且...
#### 三、XPath 2.0 应用场景 XPath 2.0 的强大功能使其在多种场景下都有广泛的应用: - **XML 数据查询**:XPath 2.0 可以用来快速定位 XML 文档中的特定元素或属性,从而实现高效的查询和检索。 - **XSLT 转换**...
1. XPath简介:介绍XPath的基本概念和作用。 2. 路径表达式:讲解如何编写路径表达式来选取节点。 3. 节点测试和轴:详细解释各种节点测试和轴的用法。 4. 函数和运算符:阐述XPath提供的内置函数和逻辑、比较及算术...
XPath 教程是一个系统的学习资源,它包括 XPath 简介、XPath 节点、XPath 语法、XPath 轴、XPath 运算符、XPath 函数、XPath 实例等内容。通过学习 XPath 教程,您将掌握 XPath 的基础知识和应用技能。 因此,XPath...
#### 一、XPath简介 XPath是一种在XML文档中查找信息的语言。它用于在XML树结构中导航,并且能够返回所匹配节点或节点集。XPath的强大之处在于其简洁性和灵活性,允许用户轻松地从复杂的XML文档中提取所需的数据。 ...
#### XPath简介与重要性 XPath是一种用于在XML文档中查找信息的语言。它被设计用来在XML文档中导航,帮助开发者精确地定位和选取节点。XPath在XSLT(Extensible Stylesheet Language Transformations)中扮演着核心...
#### XPATH简介 XPath是一种在XML文档中查找信息的语言。它使用路径表达式来选择节点或集合节点,并且能够处理来自XML文档的数据,为构建XSLT这样的XML应用程序提供了强有力的支持。XPath不仅用于XSLT,也可以用于...
#### 三、XPath Checker 使用指南 1. **启动 XPath Checker**: - 安装完插件后,在任何网页上右键点击,选择“View XPath...”选项来启动 XPath Checker。 2. **输入 XPath 表达式**: - 在弹出的对话框中输入...
1. **XPath简介** XPath是W3C标准的一部分,它的主要目的是为了提供一种简洁且相对独立的方式来定位XML文档中的特定部分。通过XPath,开发者可以快速地选取和操作XML文档的结构信息,用于数据提取、验证和转换。 2...
#### XPath简介 XPath是一种用于在XML文档中进行导航的查询语言。它提供了简洁、高效的方式来定位和提取文档中的特定部分。XPath不仅仅适用于XML文档的搜索,还是XSLT(一种用于转换XML文档的语言)的核心组成部分。...
XPath简介: XPath是W3C定义的一种语言,用于在XML文档中找到信息。它可以定位XML文档中的元素、属性、文本节点等,甚至可以进行复杂的查询和计算。 2. XPath的主要功能: - 查找节点:XPath表达式可以返回文档中...
#### XPath简介 XPath是一种用于在XML文档中查询和定位元素与属性的强大语言。其语法类似于文件系统的路径表达式,但更灵活,允许使用模式匹配和条件筛选。通过XPath,开发者能够精确地选取XML文档中的特定部分,...
1. XPath简介 XPath的核心在于其路径表达式,它类似于我们熟悉的文件系统路径,但用于导航XML文档的结构。XPath还包含了一个丰富的标准函数库,涵盖了字符串、数值、日期时间比较、节点处理、QName处理等多种功能。...
#### 一、XPath简介 XPath是一种在XML文档中查找信息的语言,类似于HTML中的CSS选择器或SQL中的查询语句。XPath能够快速定位到XML文档中的某个节点或者一组节点,并且可以用来抽取节点数据或者进行条件判断等操作。...