通過SAXReader解析XML


1.通過SAXReader解析(需要導入包:dom4j-1.6.1.jar和jaxen-1.2.0-atlassian-2.jar)

包路徑圖:

 

employee.xml文件內容

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <emps>
 3     <emp>
 4         <id>1</id>
 5         <name>張三</name>
 6         <age>34</age>
 7         <gender></gender>
 8         <salary>3000</salary>
 9     </emp>
10     <emp>
11         <id>2</id>
12         <name>李四</name>
13         <age>21</age>
14         <gender></gender>
15         <salary>4000</salary>
16     </emp>
17     <emp>
18         <id>3</id>
19         <name>王五</name>
20         <age>46</age>
21         <gender></gender>
22         <salary>6500</salary>
23     </emp>
24     <emp>
25         <id>4</id>
26         <name>趙六</name>
27         <age>28</age>
28         <gender></gender>
29         <salary>4400</salary>
30     </emp>
31     <emp>
32         <id>5</id>
33         <name>錢七</name>
34         <age>53</age>
35         <gender></gender>
36         <salary>12000</salary>
37     </emp>
38     <cmp department="總經辦">
39         <id>007</id>
40         <name>董事長</name>
41         <age>52</age>
42         <gender></gender>
43         <salary>100000</salary>
44     </cmp>
45 </emps>

 

XmlDemo.java代碼

 1 package xmlDemo;
 2 
 3 import java.io.File;
 4 import java.util.List;
 5 
 6 import org.dom4j.Document;
 7 import org.dom4j.DocumentException;
 8 import org.dom4j.Element;
 9 import org.dom4j.io.SAXReader;
10 
11 public class XmlDemo {
12     public static void main(String[] args) {
13         try {
14             // 創建SAXReader
15             SAXReader reader = new SAXReader();
16             Document document = reader.read(
17                     new File("C:\\Users\\zouqiang\\Workspaces\\MyEclipse2016\\day1215XML\\src\\xmlDemo\\employee.xml"));
18             // 獲取根節點
19             Element root = document.getRootElement();
20             // 查找指定節點名稱QName的所有子節點elements
21             List<Element> list = root.elements("emp");
22             // 獲取emp
23             for (Element object : list) {
24                 System.out.println(object.getName());
25                 // System.out.println(object.attribute("department").getData());
26                 for (Element element : (List<Element>) object.elements()) {
27                     System.out.print(((Element) element).getName() + ":");
28                     System.out.print(element.getText() + " ");
29                 }
30                 System.out.println();
31             }
32         } catch (DocumentException e) {
33             e.printStackTrace();
34         }
35     }
36 }

輸出結果:

emp
id:1 name:張三 age:34 gender:男 salary:3000
emp
id:2 name:李四 age:21 gender:女 salary:4000
emp
id:3 name:王五 age:46 gender:女 salary:6500
emp
id:4 name:趙六 age:28 gender:男 salary:4400
emp
id:5 name:錢七 age:53 gender:男 salary:12000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM