Android中pull解析XML文件的简单使用
首先,android中解析XML文件有三种方式,dom,sax,pull
这里先讲pull,稍候会说SAX和DOM
pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式
看代码:
XML文件
xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>孙洋洋name> <age>30age> person> <person id="20"> <name>孙彬彬name> <age>25age> person> persons>
解析代码:
private void readxml() throws IOException, XmlPullParserException { File xmlfile = new File("/data/person.xml"); //获取文件 XmlPullParser parser = Xml.newPullParser(); //新建解析器 FileInputStream input = new FileInputStream(xmlfile); //获得输入流 parser.setInput(input,"UTF-8"); //给解析器设置输入流 int event = parser.getEventType(); //获得事件类型 while(event != XmlPullParser.END_DOCUMENT) //开始根据时间类型进行操作 { switch (event) { case XmlPullParser.START_TAG: String nam = parser.getName(); //得到TAG的名字,并比较,是name就把值给sname if(nam.equals("name")) { sname += parser.nextText(); } break; case XmlPullParser.END_TAG: name.setText(sname); //给TEXTVIEW设置上SNAME break; } event = parser.next();//步进 } //name.setText(sname); input.close(); }