`

使用dom4j中的XPath查询

阅读更多

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/*

涵义:选择所有由星号之前的路径所定位的元素

例子1root.selectNodes("/*")

结果1:得到的集合中只包含了restaurant节点

例子2root.selectNodes("restaurant/company/*")

结果2:得到company节点下所有节点的集合

例子3root.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

涵义:获得所有属性为idAttribute对象集合

例子: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文件中所有标记为foodfruit的节点集合,本例子中有4

分享到:
评论

相关推荐

    dom4j和xpath的jar包

    DOM4J和XPath是两种在Java编程环境中广泛用于XML处理的重要工具。XML(eXtensible Markup Language)是一种用于标记数据的语言,常用于结构化数据的存储和交换。DOM4J是一个灵活且功能丰富的Java库,它提供了强大的...

    dom4j中XPath用法

    这篇博文将深入探讨如何在DOM4J中使用XPath进行数据查找和操作。 首先,我们需要理解DOM4J中XPath的基本概念。XPath表达式是由路径、轴、节点测试和节点组合组成的字符串,用于定位XML文档中的特定节点。例如,`/...

    dom4j中xpath的使用

    **DOM4J中XPath的使用** XPath是一种在XML文档中查找信息的语言,它被设计用来在XML文档中导航,寻找节点、属性或者信息。DOM4J是Java中一个非常流行的XML处理库,它提供了对XPath的强大支持。这篇文档将深入探讨...

    dom4j 和xpath

    DOM4J和XPath是XML处理领域中的两个重要概念,它们在Java编程中有着广泛的应用。DOM4J是一款灵活且功能强大的...在Java项目中,使用DOM4J配合XPath可以极大地提高开发效率和代码的可读性,尤其在处理复杂XML文档时。

    DOM4J_xpath

    示例代码展示如何使用DOM4J执行XPath查询: ```java List&lt;Element&gt; elements = root.selectNodes("//book/title"); String title = (String) root.selectSingleNode("//book/title").getText(); ``` 这里使用了`...

    dom4j及xpath jar包

    要使用DOM4J和XPath,首先需要在项目中引入相应的jar包。提供的压缩包中包含的"dom4j"文件,很可能就是DOM4J库的jar包。通常,还需要一个支持XPath的jar包,如jaxen,它为DOM4J提供了XPath的支持。如果你的描述中...

    xml+dom4j+xpath资料

    DOM4J与XPath的结合使用,大大简化了XML处理的复杂度,提高了开发效率。在实际项目中,它们是处理XML数据不可或缺的工具。通过深入学习和实践,开发者可以更好地掌握XML的解析、操作和查询技术,提升项目中的数据...

    dom4j和xpath必备jar包

    在Java开发中,DOM4J和XPath是两个重要的XML处理工具。XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件和文档结构化存储。DOM4J和XPath则提供了方便的方式来解析、操作和检索XML文档...

    dom4j用到的xpath\dom4j等一系列jar包

    DOM4J库集成了XPath支持,使得在DOM4J中使用XPath查询XML数据变得非常方便。 DOM4J的主要特性包括: 1. **XML解析**:DOM4J提供了多种解析方式,包括DOM、SAX和StAX,以适应不同的性能和内存需求。 2. **文档模型**...

    dom4j和xpath帮助文档

    XPath使用路径表达式来选取节点,这些表达式类似于我们在文件系统中使用的路径,但更为强大和灵活。 **DOM4J的主要功能** 1. **解析XML**:DOM4J可以使用DOM、SAX或StAX解析器加载XML文档,提供多种解析方式以适应...

    dom4j_xpath_junitTest.zip

    在JUnit测试中,我们可以使用DOM4J来读取、解析XML文件,然后通过XPath选取特定内容,验证其是否符合预期。例如,一个简单的测试用例可能如下所示: ```java import org.junit.Test; import static org.junit....

    Dom4j结合XPath解析XML文件路径表达式

    总结来说,理解XPath的路径表达式以及如何在Dom4j中使用它们是处理XML文档的关键技能。掌握这两种路径类型,不仅可以精确地定位XML文档中的数据,还能提高代码的可读性和可维护性。在实际开发中,根据需求选择合适的...

    dom4j及xpath基础应用

    4. **XPath支持**:DOM4J集成了XPath查询语言,可以方便地查找XML文档中的元素。 5. **事件驱动**:支持SAX事件处理器,适合处理大型XML文档。 **XPath基础** XPath是一种在XML文档中查找信息的语言。它可以用来...

    dom4j及xpath软件开发包

    在提供的压缩包"新建文件夹"中,可能包含了DOM4J和XPath相关的JAR文件,这些文件通常用于Java项目中,通过引入这些库,开发者可以直接在代码中使用DOM4J和XPath的功能。在项目构建过程中,将这些JAR添加到类路径...

    Dom4j 、XPath解析Xml所需的jar包和dom4j API

    XPath的实现依赖于`jaxen-1.1.1.jar`,这是一个独立于XML解析器的XPath引擎,允许开发者在各种XML API(如DOM、DOM4J、JDOM等)之间进行XPath查询。`jaxen-1.1.1.jar`使得DOM4J能够支持XPath表达式,从而更方便地...

    Dom4j 解析Xml文档及 XPath查询 学习笔记

    在Dom4j中,使用`XPath`类进行查询。 1. **创建XPath对象**:首先,需要创建一个`XPath`对象,通常通过`DocumentHelper.createXPath()`方法实现。 ```java XPath xpath = DocumentHelper.createXPath("//element[@...

    dom4j集成Xpath写法

    http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 的doc文档。

    使用dom4j和jaxen解析xml

    - **dom4j+jaxen操作XML**:首先使用dom4j解析XML,然后通过jaxen创建XPath对象并执行查询。查询结果可以是元素、属性或其他XML节点,根据需要进行进一步处理。 例如,以下代码展示了如何使用dom4j和jaxen解析XML...

    dom4j,Xpath等全家庭打包

    在项目中引入此jar包后,就可以在代码中使用DOM4J进行XML操作了。 `Dom4j使用简介.pdf`是一份关于DOM4J使用的指南,可能涵盖了DOM4J的基本概念、安装步骤、基本操作和示例代码等内容,对于初学者来说是很好的学习...

    dom4j基础入门文档(SAX,DOM,XPATH)

    相较于W3C DOM API,dom4j的优势在于它内置了本地XPath支持,使得XML文档的查询和操作更为简便。本文将深入介绍dom4j的基础概念和常用方法。 一、dom4j主要接口 1. `org.dom4j.Attribute`: 表示XML文件的属性,...

Global site tag (gtag.js) - Google Analytics