`

dom4j 解析xml多层

xml 
阅读更多
dom4j解析多层xml  (此例子为网络摘抄)
例如有这么一个xml文件data4.xml
<?xml version="1.0" encoding="UTF-8"?>
<aaaa>
<bbbb>
<cccc>
<dddd>
<username>aaa</username>
</dddd>
<dddd>
<username>bbb</username>
</dddd>
</cccc>
</bbbb>
</aaaa>
总共有4层,我们的目标是读取到username


package wzq.j2se.xml;


import java.util.Iterator;


import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.InputSource;


public class Dom4j4 {
public static void main(String[] args) {
try{
InputSource is = new InputSource("http://localhost/data4.xml");
SAXReader reader = new SAXReader();  
reader.setEncoding("utf-8");
/*File f = new File("D:\\androidspace\\javanote\\src\\wzq\\j2se\\xml\\data4.xml"); 
Document doc = reader.read(f); */
Document doc = reader.read(is);
Dom4j4 j1 = new Dom4j4();
Element rootElt = doc.getRootElement(); // 获取根节点
        System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
        Iterator bbbb = rootElt.elementIterator("bbbb"); ///获取根节点下的子节点bbbb
           // 遍历bbbb节点
           while (bbbb.hasNext()) {
               Element recordEless = (Element) bbbb.next();
               Iterator cccc = recordEless.elementIterator("cccc"); // 获取子节点bbbb下的子节点cccc
               while (cccc.hasNext()) {
                   Element itemEle = (Element) cccc.next();
                   Iterator dddd = itemEle.elementIterator("dddd");
                   while(dddd.hasNext()){
                    Element tableItem = (Element) dddd.next();
                    String username = tableItem.elementTextTrim("username"); // 拿到dddd下的字节点username的值
                   System.out.println("username:" + username);
                   }
               }
           }
}catch(Exception e){
e.printStackTrace();
}
}
}
分享到:
评论

相关推荐

    DOM4J 解析XML

    ### DOM4J解析XML知识点详解 #### 一、XML与DOM4J概述 - **XML简介**:XML(Extensible Markup Language,可扩展标记语言)是由W3C(World Wide Web Consortium,万维网联盟)定义的一种标准语言,用于描述数据。...

    多层镶嵌xml解析.zip

    解析XML的第一步是引入DOM4J库。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.dom4j &lt;artifactId&gt;dom4j &lt;version&gt;2.1.3 ``` 接下来,我们创建一个XML文件,比如`xmlTest.xml`,...

    Android应用源码之28.使用DOM和pull解析XML.zip

    使用DOM解析XML的基本步骤如下: 1. 加载XML文件:使用`DocumentBuilderFactory`创建`DocumentBuilder`,然后调用`parse()`方法加载XML。 2. 构建DOM树:`DocumentBuilder`会将XML转换为`Document`对象。 3. 遍历DOM...

    java 解析xml 多级

    以下是一个使用Java DOM解析XML的步骤: 1. 引入必要的库: 需要引入`javax.xml.parsers`包,包含DOM解析器的主要类。 2. 创建解析器工厂: 使用`DocumentBuilderFactory`创建一个解析器工厂实例,然后通过`...

    xml解析 dom方式 例子和讲解

    1. **导入库**:使用DOM解析XML时,我们需要导入javax.xml.parsers和org.w3c.dom相关的库。例如: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; ...

    用Stax组装及解析XML

    ### 使用StAX组装与解析XML #### 一、引言 在处理XML文档时,Java提供了多种工具和技术,包括DOM、SAX以及本文将重点讨论的Streaming API for XML(简称StAX)。StAX是一种用于读取和写入XML数据的事件驱动型API,...

    DELPHI 解析XML的小程序

    DELPHI解析XML小程序是一种基于DELPHI 7开发的应用,用于处理XML(eXtensible Markup Language)数据。XML是一种结构化数据语言,广泛应用于数据交换、配置存储以及网络通信等领域。在DELPHI中,我们可以利用其强大...

    java解析xml动态生成树形菜单结构

    1. Java的DOM解析XML,构建树形数据结构。 2. 设计和实现无限层级的树形菜单数据模型。 3. 使用`JSTree`库在前端渲染树形菜单并实现交互功能。 4. JavaScript与Java后端的交互,如AJAX请求和数据转换。 5. `JSTree`...

    java一键xml转map,一键map转xml工具类

    在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来解析XML文档,然后遍历DOM树,将其节点转化为Map。例如,每个XML元素的标签名作为键,元素的文本内容作为值。如果元素...

    解析XML的程序,可以读取节点属性。

    - **DOM解析器**:如libxml2库提供的DOM解析接口,可以创建一个DOM树,通过API访问节点属性。 - **SAX解析器**:如expat库,提供事件回调机制,处理XML流。 - **PULL解析器**:如Android中的XMLPullParser,允许...

    xml转对象封装的简单与复杂xml的转化写法

    例如,可以使用SAX解析器(事件驱动模型)而不是DOM解析器(整个文档加载到内存),以减少内存占用。 8. **测试与调试**:在实现XML到对象的转换后,需要编写测试用例来验证转换的正确性,包括边缘情况和异常情况。...

    Jdom解析嵌套XML<一>

    SAX是事件驱动的解析器,适合处理大文件,而DOM则是将整个XML文档加载到内存中,形成一棵文档对象模型树,便于遍历和修改,但不适合处理大型XML文档。 对于嵌套的XML,JDOM提供了一种层次化的表示方法。例如,一个...

    dom生成xml文件

    1. **创建DOM解析器**: - 使用`DocumentBuilderFactory`创建一个`DocumentBuilder`对象,该对象负责读取XML文档并构建DOM树。 - 示例代码: ```java DocumentBuilderFactory dbf = DocumentBuilderFactory.new...

    XML转JSON工具类

    XML转JSON工具类,支持多层XML嵌套解析转JSON,采用dom4j解析转JSON格式,多次线上环境使用

    js调用xml文件的多层属性和节点

    在JavaScript(JS)中调用XML文件涉及到XMLHttpRequest对象或者现代浏览器中的fetch API,用于从服务器获取XML数据,然后通过DOM解析和操作这些数据。在处理XML文件时,特别是涉及多层属性和节点的情况,我们需要...

    j2ee dom4j JavaScript struts2帮助文档

    5. **dom4j.chm**:dom4j是一个流行的Java XML处理库,提供了灵活的DOM、SAX和XPath API。文档可能包括了XML解析、创建、修改、查询的方法,以及如何与Java集合框架集成的示例。 6. **副本(1)Spring Security 3 ...

    Java xml转化为map

    例如,DOM4J的`DocumentHelper.parseText()`可以解析XML字符串,然后通过遍历`Element`和`Attribute`来构建Map。 - Apache Commons Digester库提供了一种规则驱动的方式来将XML转换为Map,通过定义匹配规则,当匹配...

    qt xml操作 遍历

    - 创建DOM树:使用QDomDocument的parse()方法解析XML字符串或文件,生成DOM树。 - 遍历DOM树:QDomElement代表XML元素,通过getElementsByTagName()、firstChildElement()、nextSiblingElement()等方法可以遍历...

    XML图书管理系统

    总的来说,XML图书管理系统利用XML的强大功能,结合XPath进行数据查询,可能借助XSLT进行数据呈现,通过DOM或SAX解析XML,实现高效、灵活的图书信息管理。这个系统不仅提供了数据存储的解决方案,还为用户提供了便捷...

    任意XML转实体类 实体类 转XML 方法 JAVA

    当解析XML时,我们可以通过节点名称匹配到相应的类字段,然后使用反射来设置这些字段的值。例如,一个XML节点`&lt;person&gt;`可能对应一个`Person`类,而节点的子节点`&lt;name&gt;`和`&lt;age&gt;`则分别对应`Person`类的`name`和`...

Global site tag (gtag.js) - Google Analytics