`
砺雪凝霜
  • 浏览: 155518 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xml解析之(三) - dom4j对xpath的支持

阅读更多

               Dom4j对XPATH的支持 

   dom4j中查询可能不是很方便,但是通过引入XPATH,可以大大简化我们队dom元素的查询

   1.引入XPATH包(jaxen-1.1-beta-6.jar)(下载一个dom4j,里面就有)

   2.引入dom4j jar包

   3.DOM4J使用xpath有两种方法

     selectNodes()

     selectSingleNode()

入门例子:

public static void main(String[] args) throws Exception{

//xpath中提供了selectNodes和selectSingleNode方法,

        这种解析xml的方式大大提高了开发效率,建议以后开发可以常用

   /* 

        1. / 代表元素绝对路径

        2. //代表 无论层级关系

        3. * 任意

        4.[]获取元素的位置

        具体可以参考xpath的文档

  */

Document document = Dom4jXmlUtils.getDocument("src/person.xml");

//List<Node> nodeList = document.selectNodes("/persons/person");//文档中persons标签下的person标签

 

//List<Node> nodeList = document.selectNodes("//name");//文档中任意位置的name标签

 

/*List<Node> nodeList = document.selectNodes("/persons/person/*");

System.out.println(nodeList.size());*/

 

/*List<Node> nodeList = document.selectNodes("/persons/person/name[1]");

    Node node = nodeList.get(1);

    System.out.println(node.getText());*/

 

 /*List<Node> nodeList = document.selectNodes("//person/id[@type]");

    System.out.println(nodeList.size());*/

 

    Node node = document.selectSingleNode("//person/id");

    System.out.println(node.getText());

    

}

 

}

Person.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<persons> 

  <person> 

    <id type="uuid" length="12" value="001">001</id>  

    <name>jack</name>  

    <age>44</age>  

    <sql><![CDATA[

      select * from table

]]></sql>  

    <dog>狼狗</dog> 

  </person>  

  <person> 

    <id>002</id>  

    <name from="fg">jim</name>  

    <age>19</age>  

    <height>180cm</height> 

  </person> 

</persons>

分享到:
评论

相关推荐

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    DOM4J的名字来源于“Document Object Model for Java”,它采用面向对象的设计思想,提供了对XML文档的全面支持。 DOM4J库的核心功能包括: 1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即...

    dom4j和xpath的jar包

    DOM4J可以加载和解析XML文档,然后利用XPath表达式进行数据检索。这种方式避免了传统遍历DOM树的低效,尤其是在大型XML文档中,XPath的查询性能优势尤为明显。 在Java项目中,通常会将DOM4J和XPath的jar包打包在...

    DOM4J_xpath

    **DOM4J**是一款由dom4j.org开发的开源XML解析库,专为Java平台设计,它不仅支持DOM和SAX这两种标准的XML解析方式,还兼容JAXP(Java API for XML Processing)。DOM4J以其简洁易用而闻名,只要对基本的XML-DOM模型...

    xml+dom4j+xpath资料

    DOM4J不仅支持DOM模型,还支持SAX和STAX解析器,使得处理大型XML文档时性能更优。它包含一系列API,如Element、Attribute、Document等,便于开发者进行XML的读写操作。例如,你可以使用DOM4J轻松地查找、添加、删除...

    dom4j 和xpath

    DOM4J库内置了对XPath的支持,可以方便地在DOM4J的元素对象上应用XPath表达式,从而实现快速查找和操作XML文档的特定部分。通过调用Element类的selectNodes或selectSingleNode方法,可以利用XPath表达式找到需要的...

    dom4j---xml解析jar包

    3. **XPath支持**:DOM4J提供了对XPath表达式的强大支持,可以方便地定位XML文档中的任何节点。 4. **轻量级**:DOM4J的设计目标是轻便且高效,它不依赖于大型的JDK库,如JAXP,使得其可以在各种环境下游刃有余。 *...

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

    本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...

    dom4j解析xml详解

    DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...

    dom4j及xpath jar包

    通常,还需要一个支持XPath的jar包,如jaxen,它为DOM4J提供了XPath的支持。如果你的描述中提到的"及添加XPath支持所需要的jar包"指的是jaxen,那么确保将这两个jar包都添加到项目的类路径中。 使用DOM4J解析XML的...

    XML四种解析方式------DOM SAX JDOM DOM4J

    DOM4J提供了丰富的功能,如XPath查询、XML Schema验证、文档修改等,使得XML操作更为便捷,但同样,对于非常大的XML文件,仍需考虑内存使用。 总结来说,选择哪种解析方式主要取决于具体需求。如果XML文件较小,且...

    XML解析-dom4j.jar-jdom.jar

    总结来说,XML解析在Java开发中扮演着重要角色,dom4j和jdom是两个常用的XML处理库,它们各有特点,提供了丰富的功能来帮助开发者处理XML文档。理解这两个库的差异和优势,以及如何在项目中正确使用它们,对于提升...

    dom4j和xpath必备jar包

    将这些jar包添加到项目的类路径中,开发者就可以在代码中直接调用DOM4J和XPath的功能,实现对XML文档的强大操作。 总之,DOM4J和XPath是XML处理领域的重要工具,它们为Java开发者提供了强大而灵活的XML处理能力,...

    Dom4j解析XML文档.doc

    此外,DOM4J还支持XPath查询,可以方便地定位XML文档中的任何元素或属性。例如,`root.element("name").attributeValue("firstname")`将返回名字为“name”的元素的第一个“firstname”属性的值。 总的来说,DOM4J...

    dom4j中xpath的使用

    DOM4J是Java中一个非常流行的XML处理库,它提供了对XPath的强大支持。这篇文档将深入探讨DOM4J如何结合XPath进行操作,帮助你理解和运用这一强大的工具。 ### XPath基础 XPath的语法基于路径表达式,它允许我们...

    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表达式,从而更方便地...

    JAVA XML dom4j-1.6.1

    - dom4j还支持XPath(XML Path Language),这是一种用于在XML文档中查找信息的语言。通过XPath表达式,可以快速定位到XML文档的特定部分,简化了复杂文档的查找和操作。 7. **事件处理** - 对于需要监听XML解析...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    使用dom4j和jaxen解析xml

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

    xml(jdom-dom4j).rar_DOM4J_dom4j xml java

    DOM4J对XPath的支持和对SAX的集成使其在处理复杂XML任务时更具优势。 7. **实际应用**: 在实际开发中,DOM4J常用于配置文件的读写、Web服务的响应解析、数据交换格式的处理等方面。它的灵活性和易用性使其成为...

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

    1. **XML解析**:DOM4J提供了多种解析方式,包括DOM、SAX和StAX,以适应不同的性能和内存需求。 2. **文档模型**:DOM4J提供了一个直观的文档对象模型,使开发者可以方便地创建、修改和遍历XML文档。 3. **XPath支持...

Global site tag (gtag.js) - Google Analytics