private List<Student> pullParseXml() { List<Student> lists=null; Student student=null; try { XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); //获取XmlPullParser实例 XmlPullParser pullParser=factory.newPullParser(); //InputStream in=this.getClass().getClassLoader().getResourceAsStream("student.xml"); InputStream in= getResources().openRawResource(R.raw.student); pullParser.setInput(in, "UTF-8"); //开始 int eventType=pullParser.getEventType(); while(eventType!=XmlPullParser.END_DOCUMENT){ String nodeName=pullParser.getName(); switch (eventType) { //文档开始 case XmlPullParser.START_DOCUMENT: lists=new ArrayList<Student>(); break; //开始节点 case XmlPullParser.START_TAG: if("student".equals(nodeName)){ student=new Student(); student.setId(Integer.parseInt(pullParser.getAttributeValue(0))); student.setGroup(Integer.parseInt(pullParser.getAttributeValue(1))); }else if("name".equals(nodeName)){ student.setName(pullParser.nextText()); }else if("sex".equals(nodeName)){ student.setSex(pullParser.nextText()); }else if("age".equals(nodeName)){ student.setAge(Integer.parseInt(pullParser.nextText())); }else if("email".equals(nodeName)){ student.setEmail(pullParser.nextText()); }else if("birthday".equals(nodeName)){ student.setBirthday(pullParser.nextText()); }else if("memo".equals(nodeName)){ student.setMemo(pullParser.nextText()); } break; //结束节点 case XmlPullParser.END_TAG: if("student".equals(nodeName)){ lists.add(student); student=null; } break; default: break; } // 手动的触发下一个事件 eventType=pullParser.next(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } Log.i("TAG","lists"+lists); return lists; }
XML文件解析
最新推荐文章于 2021-07-26 19:04:50 发布