程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> PULL解析XML文件,pull解析xml

PULL解析XML文件,pull解析xml

編輯:JAVA綜合教程

PULL解析XML文件,pull解析xml



<?xml version="1.0" encoding="UTF-8"?> <students> <student id="1001"> <stuno>1001</stuno> <name>張三</name> <sex>男</sex> <grade>Java一班</grade> </student> <student id="1002"> <stuno>1002</stuno> <name>李四</name> <sex>女</sex> <grade>Java二班</grade> </student> <student id="1003"> <stuno>1003</stuno> <name>小二</name> <sex>男</sex> <grade>Java三班</grade> </student> <student id="1004"> <stuno>1004</stuno> <name>小蠟</name> <sex>女</sex> <grade>Java四班</grade> </student> </students>

  

 1 package xmlpulldemo;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 
 6 import org.xmlpull.v1.XmlPullParser;
 7 import org.xmlpull.v1.XmlPullParserException;
 8 import org.xmlpull.v1.XmlPullParserFactory;
 9 
10 public class XmlPullDemo {
11 
12     public static void main(String[] args) throws XmlPullParserException, IOException {
13 
14         // 創建一個解析工廠
15         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
16         // 由工廠創建一個解析器對象
17         XmlPullParser parser = factory.newPullParser();
18         // 打開xml文檔對應的輸入流,填寫xml文檔的路徑
19         parser.setInput(new FileInputStream("src/xmlwendang/student.xml"), "UTF-8");
20         // 獲得事件類型
21         int eventType = parser.getEventType();
22         System.out.println(eventType == XmlPullParser.START_DOCUMENT);
23         do {
24             switch (eventType) {
25             case XmlPullParser.START_DOCUMENT:
26                 System.out.println("讀取開始,開始文檔!");
27                 break;
28             case XmlPullParser.START_TAG:
29                 String tagName = parser.getName();
30                 if (tagName.equals("student")) {
31                     System.out.println("讀取進度-開始標簽:" + parser.getName() + ":" + parser.getAttributeName(0) + ":"
32                             + parser.getAttributeValue(0));
33                 } else if (tagName.equals("stuno")) {
34                     System.out.println("讀取進度-學號:" + parser.nextText());
35                 } else if (tagName.equals("name")) {
36                     System.out.println("讀取進度-姓名:" + parser.nextText());
37                 } else if (tagName.equals("sex")) {
38                     System.out.println("讀取進度-性別:" + parser.nextText());
39                 } else if (tagName.equals("grade")) {
40                     System.out.println("讀取進度-班級:" + parser.nextText());
41                 } else if (tagName.equals("students")) {
42                     System.out.println("讀取開始-開始根目錄:" + parser.getName());
43                 }
44                 break;
45             case XmlPullParser.END_TAG:
46                 if (parser.getName().equals("student")) {
47                     System.out.println("讀取進度-結束標簽:" + parser.getName());
48                 } else if (parser.getName().equals("students")) {
49                     System.out.println("讀取完成-結束根目錄:" + parser.getName());
50                 }
51                 break;
52             }
53             // 讀取下一個節點
54             eventType = parser.next();
55         } while (eventType != XmlPullParser.END_DOCUMENT);
56         System.out.println("讀取完成,文檔結束!");
57     }
58 
59 }

結果:

 1 true
 2 讀取開始,開始文檔!
 3 讀取開始-開始根目錄:students
 4 讀取進度-開始標簽:student:id:1001
 5 讀取進度-學號:1001
 6 讀取進度-姓名:張三
 7 讀取進度-性別:男
 8 讀取進度-班級:Java一班
 9 讀取進度-結束標簽:student
10 讀取進度-開始標簽:student:id:1002
11 讀取進度-學號:1002
12 讀取進度-姓名:李四
13 讀取進度-性別:女
14 讀取進度-班級:Java二班
15 讀取進度-結束標簽:student
16 讀取進度-開始標簽:student:id:1003
17 讀取進度-學號:1003
18 讀取進度-姓名:小二
19 讀取進度-性別:男
20 讀取進度-班級:Java三班
21 讀取進度-結束標簽:student
22 讀取進度-開始標簽:student:id:1004
23 讀取進度-學號:1004
24 讀取進度-姓名:小蠟
25 讀取進度-性別:女
26 讀取進度-班級:Java四班
27 讀取進度-結束標簽:student
28 讀取完成-結束根目錄:students
29 讀取完成,文檔結束!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved