private void jiexi() {
// TODO Auto-generated method stub
try {
// 獲取文件
InputStream in = getAssets().open("NewFile.xml");
// 構造工廠
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 得到xml解析器‘
XmlPullParser newPullParser = factory.newPullParser();
// 將文件放進解析器中,開始解析
newPullParser.setInput(in, "utf-8");
// 得到事件的類型
int eventType = newPullParser.getEventType();
// 循環遍歷-----判斷不是結束
while (eventType != XmlPullParser.END_DOCUMENT) {
String nodename = newPullParser.getName();
// 選擇類型
switch (eventType) {
case XmlPullParser.START_TAG://開始一個節點
if (nodename.equals("student")) {
s = new StudentBean();
//得到屬性值
s.setId(newPullParser.getAttributeValue(0));
s.setGroup(newPullParser.getAttributeValue(1));
}else if ("name".equals(nodename)) {
s.setName(newPullParser.nextText());
}else if ("age".equals(nodename)) {
s.setAge(newPullParser.nextText());
}else if ("sex".equals(nodename)) {
s.setSex(newPullParser.nextText());
}else if ("email".equals(nodename)) {
s.setEmail(newPullParser.nextText());
}else if ("birthday".equals(nodename)) {
s.setBirthday(newPullParser.nextText());
}else if ("memo".equals(nodename)) {
s.setMemo(newPullParser.nextText());
}
break;
case XmlPullParser.END_TAG:
if ("student".equals(nodename)) {
list.add(s);
//s=null;
}
break;
default:
break;
}
//下移一個節點 進入下一個元素並觸發相應的事件
eventType = newPullParser.next();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (StudentBean sb:list) {
System.out.println(sb.toString());
}
}
}
xml之pull解析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.