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解析
最新推荐文章于 2022-05-21 20:06:34 发布