packagecom.parsexml;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.xmlpull.v1.XmlPullParser;importorg.xmlpull.v1.XmlPullParserException;importorg.xmlpull.v1.XmlPullParserFactory;importcom.parsexml.entity.Student;publicclassPullParseXml {publicListPullParseXML(){
Listlist=null;
Student student=null;//构建XmlPullParserFactorytry{
XmlPullParserFactory pullParserFactory=XmlPullParserFactory.newInstance();//获取XmlPullParser的实例XmlPullParser xmlPullParser=pullParserFactory.newPullParser();//设置输入流 xml文件xmlPullParser.setInput(Thread.currentThread().getContextClassLoader().getResourceAsStream("Student.xml"),"UTF-8");//开始inteventType=xmlPullParser.getEventType();try{while(eventType!=XmlPullParser.END_DOCUMENT){
String nodeName=xmlPullParser.getName();switch(eventType) {//文档开始caseXmlPullParser.START_DOCUMENT:
list=newArrayList();break;//开始节点caseXmlPullParser.START_TAG://判断如果其实节点为studentif("student".equals(nodeName)){//实例化student对象student=newStudent();//设置Id属性student.setId(Integer.parseInt(xmlPullParser.getAttributeValue(0)));//设置Group属性student.setGroup(Integer.parseInt(xmlPullParser.getAttributeValue(1)));
}elseif("name".equals(nodeName)){//设置namestudent.setName(xmlPullParser.nextText());
}elseif("sex".equals(nodeName)){//设置sexstudent.setSex(xmlPullParser.nextText());
}elseif("age".equals(nodeName)){//设置agestudent.setAge(Integer.parseInt(xmlPullParser.nextText()));
}elseif("email".equals(nodeName)){//设置emailstudent.setEmail(xmlPullParser.nextText());
}elseif("birthday".equals(nodeName)){//设置birthdaystudent.setBirthday(xmlPullParser.nextText());
}elseif("memo".equals(nodeName)){//设置memo属性student.setMemo(xmlPullParser.nextText());
}break;//结束节点caseXmlPullParser.END_TAG:if("student".equals(nodeName)){
list.add(student);
student=null;
}break;default:break;
}
eventType=xmlPullParser.next();
}
}catch(NumberFormatException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
}catch(XmlPullParserException e) {
e.printStackTrace();
}returnlist;
}publicstaticvoidmain(String[] args) {
Listlist=newPullParseXml().PullParseXML();for(Student student:list){
System.out.println("id:"+student.getId()+"\tgroup:"+student.getGroup()+"\tname:"+student.getName()+"\tsex:"+student.getSex()+"\tage:"+student.getAge()+"\temail:"+student.getEmail()+"\tbirthday:"+student.getBirthday()+"\tmemo:"+student.getMemo());
}
}
}