private List<Person> anlayzeXml() {
//
try {
// 获取一个文件流
InputStream inputStream = getAssets().open("data.xml");
// 准备解析 获取解析器
XmlPullParser newPullParser = Xml.newPullParser();
// 设置要解析的内容
newPullParser.setInput(inputStream, "utf-8");
// 获取解析的事件类型
int eventType = newPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
// 获取标签名字
String name = newPullParser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if ("persons".equals(name)) {
// 创建一个集合
personList = new ArrayList<Person>();
} else if ("person".equals(name)) {
// 创建一个javaBean
person = new Person();
//获取属性的值
String id = newPullParser.getAttributeValue(0);
person.setId(id);
} else if ("name".equals(name)) {
String name2 = newPullParser.nextText();
person.setName(name2);
} else if ("age".equals(name)) {
String age = newPullParser.nextText();
person.setAge(age);
}
break;
case XmlPullParser.END_TAG:
if ("person".equals(name)) {
// 代表封装完一个javaBean
personList.add(person);
person = null;
} else if ("persons".equals(name)) {
// 封装好了集合
return personList;
}
break;
default:
break;
}
// 每次循环,都往下解析一步
eventType = newPullParser.next();
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
//
try {
// 获取一个文件流
InputStream inputStream = getAssets().open("data.xml");
// 准备解析 获取解析器
XmlPullParser newPullParser = Xml.newPullParser();
// 设置要解析的内容
newPullParser.setInput(inputStream, "utf-8");
// 获取解析的事件类型
int eventType = newPullParser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
// 获取标签名字
String name = newPullParser.getName();
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if ("persons".equals(name)) {
// 创建一个集合
personList = new ArrayList<Person>();
} else if ("person".equals(name)) {
// 创建一个javaBean
person = new Person();
//获取属性的值
String id = newPullParser.getAttributeValue(0);
person.setId(id);
} else if ("name".equals(name)) {
String name2 = newPullParser.nextText();
person.setName(name2);
} else if ("age".equals(name)) {
String age = newPullParser.nextText();
person.setAge(age);
}
break;
case XmlPullParser.END_TAG:
if ("person".equals(name)) {
// 代表封装完一个javaBean
personList.add(person);
person = null;
} else if ("persons".equals(name)) {
// 封装好了集合
return personList;
}
break;
default:
break;
}
// 每次循环,都往下解析一步
eventType = newPullParser.next();
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}