安卓xml解析

一、主要程序(解析程序

public class Parse {

	private List<Person> list;

	private Person person;

	public Parse(InputStream inputStream) throws XmlPullParserException, IOException {

		XmlPullParser parser=Xml.newPullParser();
		parser.setInput(inputStream, "utf-8");
		int event=parser.getEventType();
		while (event!=XmlPullParser.END_DOCUMENT) {
			switch (event) {
			case XmlPullParser.START_DOCUMENT:
				list=new ArrayList<Person>();
				break;
			case XmlPullParser.START_TAG:
				if("person".equals(parser.getName())){
					person=new Person();
					person.setId(parser.getAttributeValue(0)+"");
				}else if("name".equals(parser.getName())){
					person.setName(parser.nextText());
				}else if ("age".equals(parser.getName())) {
					person.setAge(parser.nextText());
				}
				break;
			case XmlPullParser.END_TAG:
				if("person".equals(parser.getName())){
					list.add(person);
					person=null;
				}
				break;
			default:
				break;
			}
			event=parser.next();
		}
	}
	
	public List<Person> getList(){
		return list;
	}
}

二、xml文件

<?xml version="1.0" encoding="UTF-8"?>
<persons>
	<person  id = "23">
		<name>zhangsan</name>
		<age>25</age>
		</person>
	<person  id = "24">
		<name>lisi</name>
		<age>26</age>
	</person>   
</persons>

三、调用解析并输出打印

	private void jiexi() throws IOException, XmlPullParserException{
		isInputStream=this.getAssets().open("data.xml");
			Parse parseSecond=new Parse(isInputStream);
			List<Person> list=parseSecond.getList();
			for (int i = 0; i < list.size(); i++) {
				Person person=list.get(i);
				Log.i("info", person.getName()+","+person.getId()+","+person.getAge());
				
			}
			
	}

四、定义对象

public class Person {

	private String id;
	private String name;
	private String age;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
}

五、程序图

安卓xml解析_第1张图片





你可能感兴趣的:(android)