- /**
- *使用Pull进行xml文件的解析
- *
- *@authorAdministrator
- */
- publicclassPullParseService{
- //Pull解析
- staticvoidpullParse(InputStreamis,Stringencoding)
- throwsException{
- //1、构造工厂实例
- XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();
- //2、构造解析器对象
- XmlPullParserparser=factory.newPullParser();
- //3、加载要解析的文档
- parser.setInput(is,encoding);
- //pull解析xml文档采用的是事件处理机制
- inteventType=parser.getEventType();//事件类型
- //开始解析的过程
- while(eventType!=XmlPullParser.END_DOCUMENT){//未到文档的结尾
- switch(eventType){
- caseXmlPullParser.START_DOCUMENT://文档的开始
- Log.i("msg","文档开始解析了,start_document..");
- break;
- caseXmlPullParser.START_TAG://开始标签头
- //获取当前元素的值
- if(parser.getName().equals("stu")){
- //parser.getName()。。。获取当前标记的标记名称
- "编号为:"+parser.getAttributeValue(0));
- }
- if(parser.getName().equals("name")){
- //parser.nextText()。。。获取当前标记的文本
- "姓名为:"+parser.nextText());
- "开始标签元素为:"+parser.getName());
- caseXmlPullParser.END_TAG://结束标签
- "结束标签元素为:"+parser.getName());
- eventType=parser.next();//指针转向下一个标签
- }