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

xml

发布时间:2020-12-16 05:41:16 所属栏目:百科 来源:网络整理
导读://得到读取的方法 public ListPerson getList(){ ListPerson ls= new ArrayListPerson(); //获取pull解析的解析器 XmlPullParser parser = Xml. newPullParser (); try { * 解析器parser以第二个参数:inputEncoding 方式, 解析第一个参数:inputStream 里

//得到读取的方法

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;

}

(编辑:李大同)

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

    推荐文章
      热点阅读