java解析xml之dom4j解析xml示例分享

 更新时间:2014年01月05日 09:53:10   作者:  
DOM4J具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml,dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器

复制代码 代码如下:

package com.test;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Dom4jXML {

    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        File file = new File("e:/People.xml");

        try {
            Document document = saxReader.read(file);
            Element root = document.getRootElement();
            List<People> peoples = new ArrayList<People>();
            for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
                People people = new People();
                Element peopleElement = (Element) iterator.next();
                people.setId(peopleElement.attribute("id").getValue());
                for (Iterator childIterator = peopleElement.elementIterator(); childIterator.hasNext();) {
                    Element childPeopleElement = (Element) childIterator.next();
                    if (childPeopleElement.getName().equals("Name")) {
                        people.setEnglishName(childPeopleElement.attribute("en").getValue());
                        people.setName(childPeopleElement.getText());
                    } else if (childPeopleElement.getName().equals("Age")) {
                        people.setAge(childPeopleElement.getText());
                    }
                }
                peoples.add(people);
            }

            for (People p : peoples) { 
                System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getEnglishName()+"\t"+p.getAge()); 
            } 

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

相关文章

  • Java 整合模板彻底解决ssm配置难题

    Java 整合模板彻底解决ssm配置难题

    SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层,使用spring MVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis作为数据对象的持久化引擎
    2021-10-10
  • Java实现图片比对算法

    Java实现图片比对算法

    这篇文章主要为大家详细介绍了Java实现图片比对算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • JAVA中的字符串常量池使用操作代码

    JAVA中的字符串常量池使用操作代码

    Java中的字符串常量池是Java堆中的一块特殊存储区域,用于存储字符串。它的实现是为了提高字符串操作的性能并节省内存,这篇文章主要介绍了JAVA中的字符串常量池,需要的朋友可以参考下
    2022-12-12
  • Java I/O 操作及优化详细介绍

    Java I/O 操作及优化详细介绍

    这篇文章主要介绍了Java I/O 操作及优化详细介绍的相关资料,需要的朋友可以参考下
    2017-02-02
  • 一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    这篇文章主要介绍了一篇文章带你搞定SpringBoot不重启项目实现修改静态资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 使用IntelliJ IDEA调式Stream流的方法步骤

    使用IntelliJ IDEA调式Stream流的方法步骤

    本文主要介绍了使用IntelliJ IDEA调式Stream流的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解

    Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解

    这篇文章主要介绍了Mybatis-Plus的分页插件与乐观锁插件还有通用枚举和多数据源的相关介绍,文中代码附有详细的注释,感兴趣的朋友来看看吧
    2022-03-03
  • Java中的反射,枚举及lambda表达式的使用详解

    Java中的反射,枚举及lambda表达式的使用详解

    这篇文章主要为大家详细介绍了Java的反射,枚举及lambda表达式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • java算法之二分查找法的实例详解

    java算法之二分查找法的实例详解

    这篇文章主要介绍了java算法之二分查找法的实例详解的相关资料,这里提供简单实例帮助大家学习理解这部分内容,需要的朋友可以参考下
    2017-08-08
  • java反射耗时测试案例解析

    java反射耗时测试案例解析

    这篇文章主要介绍了java反射耗时测试案例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论