android 中 xml 解析技术之 pull 解析
2010-11-01 15:58
543 查看
以下是xml 代码:
核心代码案例如下:
文章地址:http://www.javacn.org/forum.php?mod=viewthread&tid=9&extra=page%3D1
<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="1"> <name>javacn</name> <age>20</age> </person> <person id="20"> <name>javacn_org</name> <age>25</age> </person> </persons>
核心代码案例如下:
import org.xmlpull.v1.XmlPullParser; import android.util.Xml; import cn.itcast.xml.domain.Person; public class PullXMLReader { public static List<Person> readXML(InputStream inStream) { XmlPullParser parser = Xml.newPullParser(); try { parser.setInput(inStream, "UTF-8"); //获得文档事件编号 int eventType = parser.getEventType(); Person currentPerson = null; List<Person> persons = null; //判断该事件是不是结束事件 while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_DOCUMENT://文档开始事件,可以进行数据初始化处理 persons = new ArrayList<Person>(); break; case XmlPullParser.START_TAG://开始元素事件 String name = parser.getName(); if (name.equalsIgnoreCase("person")) { currentPerson = new Person(); currentPerson.setId(new Integer(parser.getAttributeValue(null, "id"))); } else if (currentPerson != null) { if (name.equalsIgnoreCase("name")) { currentPerson.setName(parser.nextText());// 如果后面是Text节点,即返回它的值 } else if (name.equalsIgnoreCase("age")) { currentPerson.setAge(new Short(parser.nextText())); } } break; case XmlPullParser.END_TAG://结束元素事件 if (parser.getName().equalsIgnoreCase("person") && currentPerson != null) { persons.add(currentPerson); currentPerson = null; } break; } //继续促发事件 eventType = parser.next(); } inStream.close(); return persons; } catch (Exception e) { e.printStackTrace(); } return null; } }
文章地址:http://www.javacn.org/forum.php?mod=viewthread&tid=9&extra=page%3D1
相关文章推荐
- android实现xml解析技术——Sax、Pull、Dom
- Android下Xml解析技术(四)、pull生成Xml文件
- Android下Xml解析技术(2)之PULL解析Xml文件
- Android下Xml解析技术(三)、pull解析Xml文件
- Android XML数据解析——pull技术
- Android下Xml解析技术(四)、pull生成Xml文件
- 我的Android进阶之旅------>Android中解析XML 技术详解---->SAX解析、DOM解析、PULL解析
- Android下Xml解析技术(三)、pull解析Xml文件
- android利用pull技术来解析和生成xml文件
- Android Pull 解析 XML
- Android使用pull解析xml
- Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- android——使用pull解析xml文件
- Android pull解析XML数据
- Android实现XML解析技术
- Android 创建与解析XML(四)—— Pull方式
- android解析XML总结(SAX、Pull、Dom三种方式)
- Android数据存储——2.文件存储_E_Pull解析XML文档
- Android数据存储---Pull解析Xml文件