一、基本介绍
Android中已经集成了xmlpull解析器,所以使用XmlPullParser类非常方便,不需要从外部导入所依赖的Jar包,Pull解析器在解析xml文件的性能上是非常优秀的。

二、例子

读取到xml的声明返回数字0 START_DOCUMENT;
读取到xml的结束返回数字1 END_DOCUMENT ;
读取到xml的开始标签返回数字2 START_TAG
读取到xml的结束标签返回数字3 END_TAG
读取到xml的文本返回数字4 TEXT

.xml文件

        
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <people>
  3. <personid="001">
  4. <name>XY1</name>
  5. <age>22</age>
  6. </person>
  7. <personid="002">
  8. <name>XY2</name>
  9. <age>22</age>
  10. </person>
  11. </people>

.解析类

        
  1. publicclassPersonService
  2. {
  3. publicListgetPeople(InputStreamxml)throwsException
  4. {
  5. Listlst=null;
  6. Personperson=null;
  7. //获得pull解析器工厂
  8. XmlPullParserFactorypullParserFactory=XmlPullParserFactory.newInstance();
  9. //获取XmlPullParser的实例
  10. XmlPullParserpullParser=pullParserFactory.newPullParser();
  11. //设置需要解析的XML数据
  12. pullParser.setInput(xml,"UTF-8");
  13. //取得事件
  14. intevent=pullParser.getEventType();
  15. //若为解析到末尾
  16. while(event!=XmlPullParser.END_DOCUMENT)//文档结束
  17. {
  18. //节点名称
  19. StringnodeName=pullParser.getName();
  20. switch(event)
  21. {
  22. caseXmlPullParser.START_DOCUMENT://文档开始
  23. lst=newArrayList();
  24. break;
  25. caseXmlPullParser.START_TAG://标签开始
  26. if("person".equals(nodeName))
  27. {
  28. Stringid=pullParser.getAttributeValue(0);
  29. person=newPerson();
  30. person.setId(id);
  31. }
  32. if("name".equals(nodeName))
  33. {
  34. Stringname=pullParser.nextText();
  35. person.setName(name);
  36. }
  37. if("age".equals(nodeName))
  38. {
  39. intage=Integer.valueOf(pullParser.nextText());
  40. person.setAge(age);
  41. }
  42. break;
  43. caseXmlPullParser.END_TAG://标签结束
  44. if("person".equals(nodeName))
  45. {
  46. lst.add(person);
  47. person=null;
  48. }
  49. break;
  50. }
  51. event=pullParser.next();//下一个标签
  52. }
  53. returnlst;
  54. }
  55. }


更多相关文章

  1. android 对于asset下文件的操作
  2. Android应用程序apk内xml文件编码解析
  3. Android(安卓)深入解析光传感器(一)
  4. android输入法02:openwnn源码解析01—输入流程
  5. android 远程下载与pull解析技术
  6. Activity属性解析
  7. android 开发屏蔽home键,返回键
  8. Android(安卓)ApiDemos示例解析(161):Views->Layouts->TableLayo
  9. Android(安卓)--Intent意图的讲解

随机推荐

  1. Android中InstanceState()使用详解
  2. android hover监控鼠标移动事件
  3. 基于Android客户端的人人网开放平台开发
  4. Development and remote installation of
  5. [Android(安卓)Pro] android 混淆文件pro
  6. 简单的 Android(安卓)拍照并显示以及获取
  7. android 实现定时器
  8. 移动网站开发中常用的10段JavaScript代码
  9. Ubuntu搭建Eclipse+JDK+SDK的Android
  10. android 绘制折线图(AChartEngine)Linechar