需要解析的XML:
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person id="23">
<name>張老師</name>
<age>21</age>
<persion>
<person id="20">
<name>李老師</name>
<age>25</age>
<persion>
</persons>
需要在這裡下載響應的jar包:http://www.xmlpull.org/v1/download/unpacked/doc/
Java主要檔案:
//建立一個xml解析的工廠
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//獲得xml解析類的引用
XmlPullParser parser = factory.newPullParser();
//以流的方式傳入需要解析的xml資料
parser.setInput(java.io.Reader in);
//獲得事件的類型
int eventType = parser.getEventType();
//判斷是否到了文檔結束位置
while(eventType!=XmlPullParser.END_DOCUMENT){
switch(eventType){
//開始讀文檔
case XmlPullParser.START_DOCUMENT:
break;
//遇到標籤元素
case XmlPullParser.START_TAG:
if("person".equals(parser.getName())){
//取出屬性值,0是代表第0個屬性
int id = Integer.parseInt(parser.getAttributeValue(0));
} else if("name".equals(parser.getName())){
//擷取該節點的內容
String name = parser.netText();
}else if("age".equals(parser.getName())){
//擷取該節點的內容
String age = parser.netText();
}
break;
//標籤結束
case XmlPullParser.END_TAG:
if("person".equals(parser.getName())){
//這裡可以做一些初始化
}
break;
}
//迴圈
eventType = parser.next();
}