XmlPullParser parser = Xml.newPullParser();
try {
parser.setInput(getAssets().open("actors.xml"), "utf-8");
int event = parser.getEventType();
boolean flag = true;
String tagname = "";
Actors ac = null;
String province_name = "";
while(flag){
switch (event) {
case XmlPullParser.START_DOCUMENT:
list = new ArrayList<Actors>();
break;
case XmlPullParser.START_TAG:
tagname = parser.getName();
if(tagname.equals("province")){
province_name = parser.getAttributeValue(null, "province_name");
}
if(tagname.equals("actor")){
ac = new Actors();
ac.setId(Integer.parseInt(parser.getAttributeValue(null, "id")));
ac.setUname(parser.getAttributeValue(null, "uname"));
ac.setProvince_name(province_name);
}
break;
case XmlPullParser.TEXT:
if(tagname.equals("addr")){
ac.setAddr(parser.getText());
}else if(tagname.equals("work")){
ac.setWork(parser.getText());
}else if(tagname.equals("imageurl")){
String url = parser.getText();
ac.setImageurl("/mnt/sdcard"+url);
}
break;
case XmlPullParser.END_TAG:
tagname = parser.getName();
if(tagname.equals("actor")){
list.add(ac);
ContentValues values = new ContentValues();
for(Actors a : list){
values.put("province_name", a.getProvince_name());
values.put("uname", a.getUname());
values.put("addr", a.getAddr());
values.put("work", a.getWork());
values.put("imageurl", a.getImageurl());
}
db.insert("actors", null, values);
}
// if(tagname.equals("province")){
// province_name = "";
// }
tagname = "";
break;
case XmlPullParser.END_DOCUMENT:
flag = false;
break;
}
event = parser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
使用Pull解析XML文件
最新推荐文章于 2018-02-25 08:58:23 发布