码迷,mamicode.com
首页 > 其他好文 > 详细

Dom4J解析xml文件

时间:2019-12-06 11:24:22      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:应用   width   reader   get   ima   int   lips   next   string   

一、什么是 XML?

  • XML :可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准

二、 XML文档例子

Eclipse创建的一个XML文档内容:

 1 <?xml version="1.0" encoding="UTF-8"?> <!-- 第一句为固定的声明语句 -->
 2 <person> <!--开始标签,可任意定义,但要有对应的结束标签--><!-- person也是根节点 -->
 3     <p1> <!-- person的一个子节点 -->
 4         <name>zhangsan</name>
 5         <age>20</age>
 6     </p1>
 7     <p1>
 8         <name>wangwu</name>
 9         <age>29</age>
10     </p1>
11 </person> <!--结束标签,与开始标签对应-->
“<name>zhangsan</name>”也可以在name标签中加属性,如:<name address="beijing">zhangsan</name>。

二、 使用Dom4J解析xml文件

  DOM4J是dom4j.org出品的一个开源XML解析包,是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
  DOM4J解析XML文档的步骤如下:
    • 导入dom4j-1.6.1.jar包和jaxen-1.1-beta-7.jar包
    • 创建解析器
    • 读入XML,获取Document对象
    • 获取XML根节点
    • 遍历子节点,获取所需要的对象
 1 package com.hdl.dom4jparser;
 2 
 3 import java.util.Iterator;
 4 
 5 import org.dom4j.Document;
 6 import org.dom4j.DocumentException;
 7 import org.dom4j.Element;
 8 import org.dom4j.io.SAXReader;
 9 
10 public class Dom4jTest {
11 
12     public static void main(String[] args) {
13         try {
14             // 1、创建解析器
15             SAXReader reader = new SAXReader();
16             // 2 、读取Document对象
17             Document document = reader.read("conf/persons.xml");
18             // 3、获取根节点
19             Element root = document.getRootElement();
20             // 4、遍历子节点
21             for (Iterator<Element> eIterator = root.elementIterator(); eIterator.hasNext();) {
22                 // 获取student节点对象
23                 Element stuElement = (Element) eIterator.next();
24                 // System.out.println(stuElement.toString() + "信息如下:");
25                 for (Iterator innerIter = stuElement.elementIterator(); innerIter.hasNext();) {
26                     // 获取student子节点对象
27                     Element innerElement = (Element) innerIter.next();
28                     String innerElementValue = innerElement.getStringValue();
29                     System.out.println(innerElementValue);
30                 }
31                 System.out.println("--------------------");
32             }
33         } catch (DocumentException e) {
34             e.printStackTrace();
35         }
36 
37     }
38 
39 }

 结果:

技术图片

 

 

    

Dom4J解析xml文件

标签:应用   width   reader   get   ima   int   lips   next   string   

原文地址:https://www.cnblogs.com/hdl-blog/p/11994034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!