当前位置: 移动技术网 > IT编程>开发语言>Java > java的XML解析(DOM4J技术)

java的XML解析(DOM4J技术)

2019年01月10日  | 移动技术网IT编程  | 我要评论

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 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网