//得到xml文件
InputStream stream = getResources().openRawResource(R.raw.xxx);
//创建pull解析器
XmlPullParser parser=Xml.newPullParser();
try {
//设置解析器的参数
parser.setInput(stream, "UTF-8");
//开始解析文件,,获取当前事件的类型
int type = parser.getEventType();
while(type!=XmlPullParser.END_DOCUMENT){//当前状态和文档解析结束(0!=1)
switch(type){
case XmlPullParser.START_DOCUMENT://文档解析开始状态
lp=new ArrayList<Person>();
Log.e("Main", "文档开始解析");
break;
case XmlPullParser.START_TAG://标签解析开始状态
if(("person").equals(parser.getName())){
p=new Person();
String url = parser.getAttributeValue(null, "url");
String id = parser.getAttributeValue(null, "id");
p.setUrl(url);
p.setId(Integer.parseInt(id));
Log.e("Main", url+id);
}else if("name".equals(parser.getName())){
String name = parser.nextText();
p.setName(name);
Log.e("Main", name);
}else if("age".equals(parser.getName())){
String age = parser.nextText();
p.setAge(age);
Log.e("Main", age);
}else if("hobby".equals(parser.getName())){
String hobby = parser.nextText();
p.setHobby(hobby);
Log.e("Main", hobby);
}
break;
case XmlPullParser.END_TAG://标签解析完成状态
lp.add(p);
Log.e("Main","标签解析完成");
break;
}
type=parser.next();//让type移动到下一个节点
}
} catch (Exception e) {e.printStackTrace();}
return lp;
}
InputStream stream = getResources().openRawResource(R.raw.xxx);
//创建pull解析器
XmlPullParser parser=Xml.newPullParser();
try {
//设置解析器的参数
parser.setInput(stream, "UTF-8");
//开始解析文件,,获取当前事件的类型
int type = parser.getEventType();
while(type!=XmlPullParser.END_DOCUMENT){//当前状态和文档解析结束(0!=1)
switch(type){
case XmlPullParser.START_DOCUMENT://文档解析开始状态
lp=new ArrayList<Person>();
Log.e("Main", "文档开始解析");
break;
case XmlPullParser.START_TAG://标签解析开始状态
if(("person").equals(parser.getName())){
p=new Person();
String url = parser.getAttributeValue(null, "url");
String id = parser.getAttributeValue(null, "id");
p.setUrl(url);
p.setId(Integer.parseInt(id));
Log.e("Main", url+id);
}else if("name".equals(parser.getName())){
String name = parser.nextText();
p.setName(name);
Log.e("Main", name);
}else if("age".equals(parser.getName())){
String age = parser.nextText();
p.setAge(age);
Log.e("Main", age);
}else if("hobby".equals(parser.getName())){
String hobby = parser.nextText();
p.setHobby(hobby);
Log.e("Main", hobby);
}
break;
case XmlPullParser.END_TAG://标签解析完成状态
lp.add(p);
Log.e("Main","标签解析完成");
break;
}
type=parser.next();//让type移动到下一个节点
}
} catch (Exception e) {e.printStackTrace();}
return lp;
}