DOM4J技术解析XML文件
一,XML简介
xml (可扩展标记语言) 全称: Extended Markup Language
可扩展的含义:允许程序员按照自己的想法去扩展新的标签
注意:但是扩展的时候,必须要遵循XML规范
二,xml的特点:
自带描述性,
可以支持跨平台,
保留了面向对象编程的层次感
三,XML文件规范例子
1 <?xml version="1.0" encoding="UTF-8"?>
2 <persons>
3 <person id="101">
4 <name>李白</name>
5 <addrss>唐朝-长安</addrss>
6 </person>
7 <person id="102">
8 <name>杜甫</name>
9 <addrss>唐朝-长安</addrss></person>
10 <person id="103">
11 <name>苏轼</name>
12 <addrss>宋朝-汴梁</addrss>
13 </person>
14 </persons>
四,DOM4J技术详解
DOM4J:Dom4j是一个易用的、开源的库,用于XML、XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM、SAX和JAXP。在Java开发社区里,DOM4J的使用最为广泛。JDOM的操作非常简单,但是在处理大XML文件时性能表现不佳,解析10M文档时就会内存溢出。而DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和易于使用的特点,同时它也是一个开放源代码的软件,DOM4J使用大量的接口,这也是它被认为比JDOM灵活的原因。如今我们可以看到越来越多的Java软件都在使用DOM4J来读写XML。DOM4J的官方地址是“http://www.dom4j.org/”。
注意:DOM4J不是sun公司自己的产品,所以没有提供服务的jar包,我们可以自己下载包,里面有API(index-html),jar包等。
五,DOM4J技术解析上述XML文件详细代码
1 import java.util.Iterator;
2 import java.util.List;
3 import org.dom4j.Attribute;
4 import org.dom4j.Document;
5 import org.dom4j.Element;
6 import org.dom4j.io.SAXReader;
7
8 public class dome4j {
9 public static void main(String[] args) throws Exception {
10 //1.创建是事件解析器
11 SAXReader sr = new SAXReader();
12 //2.读取XML文件并创建文本容器
13 Document doc = sr.read("Dom4j.xml");
14 //3.获取XML根节点
15 Element el= doc.getRootElement();
16 //4.遍历根节点
17 Iterator<Element> it = el.elementIterator();
18 while(it.hasNext()){
19 Element el2 = it.next();
20 //5.获取根节点的属性值
21 List<Attribute> list = el2.attributes();
22 for (Attribute a : list) {
23 String name = a.getName();
24 String text = a.getText();
25 System.out.println("=====================");
26 System.out.println(name+"="+text);
27 //6.通过遍历获取id对应的属性值
28 Iterator<Element> it2 = el2.elementIterator();
29 while(it2.hasNext()){
30 Element next = it2.next();
31 String name2 = next.getName();
32 String text2 = next.getText();
33 System.out.println(name2+"="+text2);
34 }
35 }
36 }
37 }
38 }
精品java学习视频
java的多线程技术:链接:https://pan.baidu.com/s/1vSoERRP2a4sXD4Tu1NUMeg 提取码:qxfe
原文出处:https://www.cnblogs.com/topshark/p/10251404.html
来源:oschina
链接:https://my.oschina.net/u/4291707/blog/3271273