android XmlPullParser解析XMl文件
1)首先要把带解析的文件放到与包平行的路径下
2)找到XMl文件,创建XML解析,并设置
InputStream is = getClassLoader().getResourceAsStream("xml_parser22.xml"); XmlPullParser xpp = Xml.newPullParser(); try { xpp.setInput(is, "utf-8");
3)设置循环
int event = xpp.getEventType(); while( event != XmlPullParser.END_DOCUMENT ) {//只要不等于文件的结尾,就继续循环 switch(event){ case XmlPullParser.START_TAG: break; case XmlPullParser.END_TAG: break; } event = xpp.next(); }
4)在START_TAG分支要做XML解析:
if( xpp.getName().equals("persons") ) {//这个是根标签 persons = new ArrayList<Person>();//在这个分支要创建解析出来的数据的存储list } else if(xpp.getName().equals("person")) {//这个是要解析的主体类 的标签 p = new Person();
//<person id="22"> 获取标签内部的属性值22 p.setId(Integer.parseInt(xpp.getAttributeValue(0))); } else if( xpp.getName().equals("name") ) {
//<name>NEW23</name> 活取标签外部的值 NEW23 p.setName(xpp.nextText()); } else if(xpp.getName().equals("age")) { p.setAge(Integer.parseInt(xpp.nextText())); }
5) 在END_TAG分支要把获取到的数据放入list
if( xpp.getName().equals("person") ) { persons.add(p); p = null; }