• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

使用dom4j解析XML文件

技术杂谈 勤劳的小蚂蚁 2个月前 (02-05) 62次浏览 已收录 0个评论 扫描二维码


dom4j的简介


dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。

dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。

在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。

如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。

dom4j的简单解析



1、导入dom4j的Maven依赖


<!– parser xml file –>
<dependency>
  <groupId>org.dom4j</groupId>
  <artifactId>dom4j</artifactId>
  <version>2.1.0</version>
</dependency>

2、创建userConfig.xml文件

<?xml version=“1.0” encoding=“UTF-8”?>
<users>
   <user>
       <userName>user1</userName>
       <password>123</password>
       <systemId>AAA</systemId>
   </user>
   <user>
       <userName>user2</userName>
       <password>456</password>
       <systemId>BBB</systemId>
   </user>
</users>

3、使用SAXReader类 和解析 xml文件

package com.my.utils;

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

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

publicclass ReadXMLConfig {

   publicstaticvoid main(String[] args) {
       // TODO Auto-generated method stub
       
       //define config file path
       //String path = this.getClass().getClassLoader().getResource(“”).getPath()+”config/userConfig.xml”;
       String path = “src/main/resources/config/userConfig.xml”;
       
       SAXReader reader = new SAXReader();
       reader.setEncoding(“utf-8”);
       Document document = null;
       try {
           document = reader.read(new File(path));
           
           Element root = document.getRootElement();
           
           //get user list
           List<Element> list = root.elements(“user”);
           Element use1 = list.get(0);
           
           //get user info
           System.out.println(use1.element(“userName”).getStringValue());
           System.out.println(use1.element(“password”).getStringValue());
           System.out.println(use1.element(“systemId”).getStringValue());

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

   }

}

输出结果如下:

user1
123
AAA

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:使用dom4j解析XML文件
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00