xml
//得到读取的方法 publicList<Person> getList(){ List<Person> ls=newArrayList<Person>(); //获取pull解析的解析器 XmlPullParser parser = Xml.newPullParser(); try{ * 解析器parser以第二个参数:inputEncoding 方式, 解析第一个参数:inputStream 里的内容 File file = newFile(Environment.getExternalStorageDirectory(),"data.xml"); FileInputStream is = newFileInputStream(file); 设置解析器的读取来源以及读取方式 parser.setInput(is,"utf-8"); //得到事件的类型 inttype = parser.getEventType(); /** 循环解析 //如果事件类型不是结束文档,进行循环解析 while(type!=parser.END_DOCUMENT){ //得到节点的名字 String tagName = parser.getName(); //根据事件类型选择 switch(type) { //选择的是开始标签 caseXmlPullParser.START_TAG: if("person".equals(tagName)) { p= newPerson(); }//判断节点名字 elseif("name".equals(tagName)) { p.setName(parser.nextText()); }elseif("age".equals(tagName)) { p.setAge(parser.nextText()); } break; //当选择的是结束标签 caseXmlPullParser.END_TAG: if("person".equals(tagName)) { ls.add(p); //添加集合后,把对象置空, 在循环 p=null; } break; } //进行下一个事件类型,再次循环 type = parser.next(); } } catch(Exception e) { } returnls; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |