加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML之PULL解析

发布时间:2020-12-16 00:15:12 所属栏目:百科 来源:网络整理
导读:1.PULL解析特点:简单易用,效率高。同步解析,解析器读到那里,则处理到哪里 2.PULL解析案例 package com.example.test; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull
1.PULL解析特点:简单易用,效率高。同步解析,解析器读到那里,则处理到哪里
2.PULL解析案例
package com.example.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.util.Xml;
public class PULLForXML {
public static List<Person> parseFromPull(InputStream is) throws XmlPullParserException,IOException{
List<Person> mlist = null;
Person person = null;
XmlPullParser xmlPullParser=Xml.newPullParser(); //获取xmlpull解析器
xmlPullParser.setInput(is,"utf-8"); //设置编码方式
int event=xmlPullParser.getEventType(); //获取PULL解析器的第一个事件
while(event!=XmlPullParser.END_DOCUMENT){
switch(event){
case XmlPullParser.START_DOCUMENT: //开始解析
mlist =new ArrayList<Person>();
break;
case XmlPullParser.START_TAG: //开始元素
if("person".equals(xmlPullParser.getName())){
int id=new Integer(xmlPullParser.getAttributeValue(0));
person=new Person();
person.setId(id);
}
if(person!=null){
if("name".equals(xmlPullParser.getName())){
person.setName(xmlPullParser.nextText());
}
if("age".equals(xmlPullParser.getName())){
person.setAge(Integer.valueOf(xmlPullParser.nextText()));
}
}
break;
case XmlPullParser.END_TAG: //结束元素
mlist.add(person);
break;
}
event=xmlPullParser.next(); //触发下一个事件
}
return mlist;
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读