java的XML解析(DOM4J技術)

大暑發表於2019-01-10

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 

相關文章