http://www.ibm.com/developerworks/cn/xml/x-injava/#N100FD
为了方便用户更加快捷的查询,Dom4j支持灵活的Xpath,下面是经常用的语法
1. 格式:/element
涵义:表示到一个element元素的绝对路径
例子:root.selectSingleNode("restaurant/company");
结果:表示xml文件中根节点下的company节点
2. 格式:// element
涵义:表示在父节点下,所有名叫element的节点元素,不论层级
例子:root.selectNodes("//food")
结果:xml文件中,所有标记为food节点的集合
3. 格式1:/*
涵义:选择所有由星号之前的路径所定位的元素
例子1:root.selectNodes("/*")
结果1:得到的集合中只包含了restaurant节点
例子2:root.selectNodes("restaurant/company/*")
结果2:得到company节点下所有节点的集合
例子3:root.selectNodes("*/*/*/fruit")
结果3:得到除根节点下满足第四层元素为fruit的节点集合,本例子中只有一个
4. 格式:/aa/bb[n] n>=1
涵义1:表示aa节点下标记为bb的第n个元素
例子:restaurant.selectSingleNode("company/service/foods/food[2]")
结果:获得xml文件中foods节点下的第二个food节点
格式2:/aa/bb[last()]
涵义:表示aa节点下标记为bb的最后一个元素
例子:company.selectSingleNode("service/foods/food[last()]")
结果2:获得xml文件中foods节点下最后一个food节点
5. 格式1://@id
涵义:获得所有属性为id的Attribute对象集合
例子:root.selectNodes("//@price");
结果:获得xml文件中所有属性名为price的属性集合,本例子中共有五个
格式2://name[@id]
涵义:获得所有属性为id的,并且标记为name节点元素集合
例子:root.selectNodes("//food[@price")];
结果:获得所有属性名为price的并且标记为food的节点集合,本例子中共有4个
格式3://name[@*]
涵义:获得所有任意属性名的,并且标记为name节点元素集合
例子:root.selectNodes("//food[@*")];
结果:获得有任意属性名的并且标记为food的节点集合,本例子中共有4个
格式4://name[not(@*)]
涵义:获得所有满足没有属性名的标记为name的节点元素集合
例子:root.selectNodes("//food[not(@*)]");
结果:获得所有形式如<food/>的节点集合,本例子中共有0个
格式5://*[not(@*)]
涵义:获得所有满足没有属性名的节点元素集合
例子:root.selectNodes("//*[not(@*)]");
结果:获得xml文件中所有没有属性的节点集合,本例子中共有10个
6. 格式://name[@id=’n’]
涵义:获得所有属性为id的,其值等于n的,并且标记为name节点元素集合
例子:root.selectSingleNode ("//food[@price ='2'];
结果:获得xml文件中标记为food,并且其price属性的值为2的节点
7. 格式://aaa | //bbb
涵义:|表示与关系,获得文档中所有标记为aaa或者bbb的元素集合
例子:root.selectNodes("//food | fruit");
结果:获得xml文件中所有标记为food和fruit的节点集合,本例子中有4个
相关推荐
DOM4J和XPath是两种在Java编程环境中广泛用于XML处理的重要工具。XML(eXtensible Markup Language)是一种用于标记数据的语言,常用于结构化数据的存储和交换。DOM4J是一个灵活且功能丰富的Java库,它提供了强大的...
这篇博文将深入探讨如何在DOM4J中使用XPath进行数据查找和操作。 首先,我们需要理解DOM4J中XPath的基本概念。XPath表达式是由路径、轴、节点测试和节点组合组成的字符串,用于定位XML文档中的特定节点。例如,`/...
**DOM4J中XPath的使用** XPath是一种在XML文档中查找信息的语言,它被设计用来在XML文档中导航,寻找节点、属性或者信息。DOM4J是Java中一个非常流行的XML处理库,它提供了对XPath的强大支持。这篇文档将深入探讨...
DOM4J和XPath是XML处理领域中的两个重要概念,它们在Java编程中有着广泛的应用。DOM4J是一款灵活且功能强大的...在Java项目中,使用DOM4J配合XPath可以极大地提高开发效率和代码的可读性,尤其在处理复杂XML文档时。
示例代码展示如何使用DOM4J执行XPath查询: ```java List<Element> elements = root.selectNodes("//book/title"); String title = (String) root.selectSingleNode("//book/title").getText(); ``` 这里使用了`...
要使用DOM4J和XPath,首先需要在项目中引入相应的jar包。提供的压缩包中包含的"dom4j"文件,很可能就是DOM4J库的jar包。通常,还需要一个支持XPath的jar包,如jaxen,它为DOM4J提供了XPath的支持。如果你的描述中...
DOM4J与XPath的结合使用,大大简化了XML处理的复杂度,提高了开发效率。在实际项目中,它们是处理XML数据不可或缺的工具。通过深入学习和实践,开发者可以更好地掌握XML的解析、操作和查询技术,提升项目中的数据...
在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...
DOM4J库集成了XPath支持,使得在DOM4J中使用XPath查询XML数据变得非常方便。 DOM4J的主要特性包括: 1. **XML解析**:DOM4J提供了多种解析方式,包括DOM、SAX和StAX,以适应不同的性能和内存需求。 2. **文档模型**...
XPath使用路径表达式来选取节点,这些表达式类似于我们在文件系统中使用的路径,但更为强大和灵活。 **DOM4J的主要功能** 1. **解析XML**:DOM4J可以使用DOM、SAX或StAX解析器加载XML文档,提供多种解析方式以适应...
在JUnit测试中,我们可以使用DOM4J来读取、解析XML文件,然后通过XPath选取特定内容,验证其是否符合预期。例如,一个简单的测试用例可能如下所示: ```java import org.junit.Test; import static org.junit....
总结来说,理解XPath的路径表达式以及如何在Dom4j中使用它们是处理XML文档的关键技能。掌握这两种路径类型,不仅可以精确地定位XML文档中的数据,还能提高代码的可读性和可维护性。在实际开发中,根据需求选择合适的...
4. **XPath支持**:DOM4J集成了XPath查询语言,可以方便地查找XML文档中的元素。 5. **事件驱动**:支持SAX事件处理器,适合处理大型XML文档。 **XPath基础** XPath是一种在XML文档中查找信息的语言。它可以用来...
在提供的压缩包"新建文件夹"中,可能包含了DOM4J和XPath相关的JAR文件,这些文件通常用于Java项目中,通过引入这些库,开发者可以直接在代码中使用DOM4J和XPath的功能。在项目构建过程中,将这些JAR添加到类路径...
XPath的实现依赖于`jaxen-1.1.1.jar`,这是一个独立于XML解析器的XPath引擎,允许开发者在各种XML API(如DOM、DOM4J、JDOM等)之间进行XPath查询。`jaxen-1.1.1.jar`使得DOM4J能够支持XPath表达式,从而更方便地...
在Dom4j中,使用`XPath`类进行查询。 1. **创建XPath对象**:首先,需要创建一个`XPath`对象,通常通过`DocumentHelper.createXPath()`方法实现。 ```java XPath xpath = DocumentHelper.createXPath("//element[@...
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 的doc文档。
- **dom4j+jaxen操作XML**:首先使用dom4j解析XML,然后通过jaxen创建XPath对象并执行查询。查询结果可以是元素、属性或其他XML节点,根据需要进行进一步处理。 例如,以下代码展示了如何使用dom4j和jaxen解析XML...
在项目中引入此jar包后,就可以在代码中使用DOM4J进行XML操作了。 `Dom4j使用简介.pdf`是一份关于DOM4J使用的指南,可能涵盖了DOM4J的基本概念、安装步骤、基本操作和示例代码等内容,对于初学者来说是很好的学习...
相较于W3C DOM API,dom4j的优势在于它内置了本地XPath支持,使得XML文档的查询和操作更为简便。本文将深入介绍dom4j的基础概念和常用方法。 一、dom4j主要接口 1. `org.dom4j.Attribute`: 表示XML文件的属性,...