Pull解析xml

//得到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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值