android 使用 pull 解析xml文件
2011-11-01 16:50
525 查看
pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字,
读取到xml的声明返回数字0 START_DOCUMENT;
读取到xml的结束返回数字1 END_DOCUMENT ;
读取到xml的开始标签返回数字2 START_TAG
读取到xml的结束标签返回数字3 END_TAG
读取到xml的文本返回数字4 TEXT
pull是开源的项目 源码下载地址http://www.xmlpull.org/
读取到xml的声明返回数字0 START_DOCUMENT;
读取到xml的结束返回数字1 END_DOCUMENT ;
读取到xml的开始标签返回数字2 START_TAG
读取到xml的结束标签返回数字3 END_TAG
读取到xml的文本返回数字4 TEXT
pull是开源的项目 源码下载地址http://www.xmlpull.org/
package com.leequer.Service; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.util.Xml; import com.leequer.Doem.Person; /** * 使用pull解析xml * 2010-04-26 * @author leequer * */ public class ReadXmlByPullService { public static List<Person> ReadXmlByPull (InputStream inputStream)throws Exception { List <Person> personList = null; /** * android给我们提供了xml 用来得到xmlpull解析器 */ XmlPullParser xmlpull = Xml.newPullParser(); /** * 将输入流传入 设定编码方式 * */ xmlpull.setInput(inputStream, "utf-8"); /** * pull读到xml后 返回数字 * 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 END_DOCUMENT ; 读取到xml的开始标签返回数字2 START_TAG 读取到xml的结束标签返回数字3 END_TAG 读取到xml的文本返回数字4 TEXT */ int eventCode = xmlpull.getEventType(); /** * 只要这个事件返回的不是1 我们就一直读取xml文件 */ Person person = null; while(eventCode!=XmlPullParser.END_DOCUMENT) { switch (eventCode) { case XmlPullParser.START_DOCUMENT: {//开始文档 new数组 personList =new ArrayList<Person>(); break; } case XmlPullParser.START_TAG: { if("person".equals(xmlpull.getName())) { person = new Person(); person.setId(xmlpull.getAttributeValue(0)); }else if (person!=null) { if(("name".equals(xmlpull.getName()))) { /** * 如果当前元素的下一个元素是文本节点 就可以直接用nextText()这个方法来得到文本节点的内容 */ person.setName(xmlpull.nextText()); }else if ("age".equals(xmlpull.getName())) { /** * 如果当前元素的下一个元素是文本节点 就可以直接用nextText()这个方法来得到文本节点的内容 */ person.setAge(xmlpull.nextText()); } } break; } case XmlPullParser.END_TAG: { if("person".equals(xmlpull.getName())&&person!=null) { personList.add(person); person = null; } break; } } eventCode = xmlpull.next();//没有结束xml文件就推到下个进行解析 } return personList; } }转载自:http://leequer.iteye.com/blog/654306
相关文章推荐
- Android 使用SAX或者DOM或者pull解析XML文件
- Android 使用SAX或者DOM或者pull解析XML文件
- 在Android系统使用PULL方式解析【多层】XML文件
- android——使用pull解析xml文件
- Android开发之使用pull解析XML文件
- Android 中使用XmlPullParser解析网络XML文件
- android_xml解析之 使用PULL读取XML文件 .
- Android学习-- 使用Pull解析XML文件
- Android使用PULL解析和生成XML文件
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- android学习——使用SAX、DOM 和 PULL 解析xml文件,及使用pull生成xml文件
- Android中使用XmlPullParse解析xml文件
- Android中使用xml保存数据(xml文件序列化)及使用pull解析xml文件
- Android使用pull解析xml
- android xml解析 XmlPullParser的使用
- Android Animation学习(三) ApiDemos解析:XML动画文件的使用
- [android] 采用pull解析xml文件
- Android 个人学习笔记之--- Pull解析XML文件
- 使用PULL解析XML文件