全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android编程使用pull方式解析xml格式文件的方法详解

本文实例讲述了Android编程使用pull方式解析xml格式文件的方法。分享给大家供大家参考,具体如下:

上次已经说过使用Android sax解析xml,实际上还可以使用pull解析xml.这样的方式效率也是比较高的。pull不仅可以在Android上使用也可以用在javaee里面,需要的就是pull的jar包。这次的xml也使用上次的那个,如下所示

<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person id="01">
   <name>will</name>
   <age>21</age>
 </person>
 <person id="02">
   <name>will2</name>
   <age>22</age>
 </person>
</persons>

下面就来写一个解析xml的类,解析的流程如下

(1)取得pull解析器
(2)设置解析器的输入流
(3)产生第一个事件
(4)开始解析
(5)解析结束

package org.lxh.impl;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.lxh.vo.Person;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.util.Log;
import android.util.Xml;
public class Parse2 {
 public List<Person> getPersons(InputStream in) throws Throwable{
   Person p=null;
   List<Person> persons=null;
   XmlPullParser parser=Xml.newPullParser();
   parser.setInput(in, "UTF-8");
   int event=parser.getEventType();//产生第一个事件
   while(event!=XmlPullParser.END_DOCUMENT){ //如果不是文档结束事件
     switch(event){
      case XmlPullParser.START_DOCUMENT:
        persons=new ArrayList<Person>(); //在文档的开始实例化集合
        break;
      case XmlPullParser.START_TAG:
        String name=parser.getName();//取得当前解析器指向的元素名称
        if("person".equals(name)){
          p=new Person();
          p.setId(parser.getAttributeValue(0));
        }
        if(p!=null){
          if("name".equals(name)){
            p.setName(parser.nextText()); //取得当前解析器指向的下一个元素的文本节点
          }
          if("age".equals(name)){
            p.setAge(Integer.parseInt(parser.nextText()));
          }
        }
        break;
      case XmlPullParser.END_TAG:
        if("person".equals(parser.getName())){ //person标签结束就把数据存入集合
          persons.add(p);
          //p=null;
        }
        break;
     }
     event=parser.next();
   }
   return persons;
 }
}

这样的解析比起sax应该比较简单了,单元测试也用昨天那个只是少做了修改。下面看一下效果截图

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools./code/xmljson

在线格式化XML/在线压缩XML
http://tools./code/xmlformat

XML在线压缩/格式化工具:
http://tools./code/xml_format_compress

XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android操作XML数据技巧总结》、《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # pull方式  # xml格式文件  # Android编程解析XML文件的方法详解【基于XmlPullParser】  # Android XmlPullParser 方式解析 Xml 文档  # 详解Android之解析XML文件三种方式(DOM  # PULL  # SAX)  # Android解析XML(PULL)展示到ListView  # Android平台基于Pull方式对XML文件解析与写入方法详解  # 实例解析Android中使用Pull解析器解析XML的方法  # android4.0混淆XmlPullParser报错原因分析解决  # Android pull解析xml的实现方法  # 第一个  # 操作技巧  # 进阶  # 文档  # 相关内容  # 还可以  # 说过  # 较高  # 感兴趣  # 就把  # 给大家  # 如果不是  # 所示  # 看一下  # 用在  # 更多关于  # 所述  # 几款  # 程序设计  # 也用 


相关文章: 建站主机助手选型指南:2025年热门推荐与高效部署技巧  大连网站制作公司哪家好一点,大连买房网站哪个好?  建站之星安装需要哪些步骤及注意事项?  ,在苏州找工作,上哪个网站比较好?  如何在香港服务器上快速搭建免备案网站?  制作旅游网站html,怎样注册旅游网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何配置WinSCP新建站点的密钥验证步骤?  建站主机如何选?高性价比方案全解析  免费网站制作appp,免费制作app哪个平台好?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  浅谈Javascript中的Label语句  建站之星图片链接生成指南:自助建站与智能设计教程  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Python路径拼接规范_跨平台处理说明【指导】  北京的网站制作公司有哪些,哪个视频网站最好?  建站之星×万网:智能建站系统+自助建站平台一键生成  小建面朝正北,A点实际方位是否存在偏差?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  建站之星CMS五站合一模板配置与SEO优化指南  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何快速配置高效服务器建站软件?  Python多线程使用规范_线程安全解析【教程】  建站之星安装后如何配置SEO及设计样式?  宝塔Windows建站如何避免显示默认IIS页面?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  ui设计制作网站有哪些,手机UI设计网址吗?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  宝塔建站后网页无法访问如何解决?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  北京网站制作的公司有哪些,北京白云观官方网站?  如何在阿里云完成域名注册与建站?  如何快速搭建高效WAP手机网站吸引移动用户?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星2.7模板快速切换与批量管理功能操作指南  ,制作一个手机app网站要多少钱?  深入理解Android中的xmlns:tools属性  青浦网站制作公司有哪些,苹果官网发货地是哪里?  广州营销型建站服务商推荐:技术优势与SEO优化解析  javascript中的try catch异常捕获机制用法分析  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何用虚拟主机快速搭建网站?详细步骤解析  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在阿里云购买域名并搭建网站?  如何在IIS中新建站点并配置端口与IP地址?  建站168自助建站系统:快速模板定制与SEO优化指南  jQuery 常见小例汇总 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。