`
wangshiming88
  • 浏览: 77314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android的pull解析

阅读更多

Pull 解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如: 开始元素和结束元素事件,使用 parser.next() 可以进入下一个元素并触发相应事件。跟 SAX 不同的 是, Pull 解析器产生的事件是一个数字,而非方法,因此可以使用一个 switch 对感兴趣的事件 进行处理。当元素开始解析时,调用 parser.nextText() 方法可以获取下一个 Text 类型节点的值。

例如解析:person.xml放到src目录下可以使用类装载器载入文件
首先根据xml文件的内容写一个person javabean 和xmlserver 的业务bean
以下是xmlserveryewbean 的解释:
因为xml的person节点有很多个所以方法的返回类型是一个集合(List<Person>)
方法:public List<Person> getPersons(InputStream xml) throws Exception
1,首先需要一个pull解析器:android自带的方法获取一个解析器 XmlPullParser parser=Xml.newPullParser();
2,以流的形式将xml文件载入 parser.setInput(xml,"utf-8");
3,开始解析
<?xml version="1.0" encoding="UTF-8"?>是文档开始
所以:int event=parser.getEvenType(); 
根据判断event的结果 而作出不同的动作 看主要代码:
  
public static List<Person> getPersons(InputStream xml)throws Exception{
		List<Person> persons=null;
		Person person=null;
		XmlPullParser parser=Xml.newPullParser();
		parser.setInput(xml, "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:
				if("person".equals(parser.getName())){
					
					Integer personId=new Integer(parser.getAttributeValue(0));
					person=new Person();
					person.setId(personId);
				}else if("name".equals(parser.getName())){
					String personName=parser.nextText();
					person.setName(personName);
				}else if("age".equals(parser.getName()))
					
					person.setAge(new Short(parser.nextText()));
				
				break;
			case XmlPullParser.END_TAG:	
				if("person".equals(parser.getName())){
					persons.add(person);
					person=null;
			
				}
				break;	
			}

			event=parser.next();
	
		}
		
		return persons;
	}
 解析一下:XmlPullParser.START_DOCUMENT表示开始文档事件
XmlPullParser.START_TAG: 开始标签
XmlPullParser.END_TAG:结束标签
parser.getName()获取节点的名称
parser.nextText();获取下一个text类型的节点
parser.getAttributeValue(0));获取属性值
event=parser.next();继续下一个元素
分享到:
评论

相关推荐

    Android Pull解析

    在Android开发中,"Pull解析"通常指的是使用Pull解析器(Pull Parser)进行XML或JSON数据的解析。这是一种基于事件的解析方式,与SAX解析器相似,但更符合Android平台的特点,允许开发者以更低的内存消耗和更高的...

    android pull解析xml源码

    "Android pull解析xml源码"这个主题聚焦于使用Android的XML Pull解析器来理解和操作XML文档。Pull解析器是一种事件驱动的解析方法,与DOM(Document Object Model)和SAX(Simple API for XML)不同,它不需要将整个...

    Android Pull解析Demo

    "Android Pull解析Demo"就是这样一个示例,它展示了如何利用Android系统内置的Pull解析器(PullParser)来解析XML文档,同时结合Java的反射机制,动态地获取类中的变量值。下面我们将深入探讨这两个关键知识点。 **...

    android pull解析 创建xmlw文件

    在Android开发中,Pull解析是一种常用的XML解析方式,它提供了高效、线程安全的解析机制。本项目"android pull解析 创建xmlw文件"是一个完整的工程示例,旨在帮助开发者理解和应用XML Pull解析来创建XML文件,尤其是...

    android xml pull解析示例

    在Android系统中,XML Pull解析是一种轻量级且高效的解析XML文档的方法,它允许应用程序按需读取XML文档的节点,而无需加载整个文档到内存中。以下是关于Android XML Pull解析的详细知识讲解。 1. **XML Pull解析器...

    android pull 解析 源码 android2.2

    android pull 解析 源码 android2.2 实例 简单易懂 ,可以运行的 XmlPullParser parser = Xml.newPullParser(); List&lt;Person&gt; listPerson = null; parser.setInput(inputStream, "UTF-8"); int eventType = ...

    Android Pull 解析 XML.doc

    【Android Pull解析XML】 在Android开发中,处理XML数据时,常常会用到两种轻量级的解析方式:SAX解析和Pull解析。本篇主要介绍Android中的Pull解析XML,这是一种事件驱动的解析方式,允许应用程序按需读取XML文档...

    Android PULL解析XML

    PULL解析是一种事件驱动的解析方式,由Android SDK提供。它与SAX解析类似,但更适用于移动设备,因为内存占用较低且控制更灵活。PULL解析器在读取XML时,会触发一系列的事件,开发者可以注册监听这些事件并进行相应...

    Android中,使用SAX和PULL解析天气预报XML

    该文章详细介绍了在Android环境下如何使用SAX和PULL解析XML,包括代码示例和步骤说明,对于初学者来说非常有帮助。 最后,压缩包中的"Weather"文件很可能是示例的天气预报XML数据。通过实际解析这个文件,你可以更...

    android之Pull解析XML文件

    本文将深入探讨如何在Android中使用Pull解析器来处理XML文件,这是一种高效且节省资源的方式。 Pull解析器是Android提供的一个API,它允许应用程序通过事件驱动的方式解析XML文档。与SAX解析器类似,Pull解析器不...

    android中使用PULL解析XML

    本文将深入探讨如何在Android中使用PULL解析器(Pull Parser)来解析XML文档,这是一种轻量级且高效的解析方式。 **PULL解析器概述** PULL解析器(Pull Parsing)是一种事件驱动的解析模型,它不需要完整的XML文档...

    XML解析AndroidPull解析代码

    在Android平台上,XML解析是处理XML文档的关键技术,通常有两种主要的解析方式:DOM(Document Object Model)解析和Pull解析。 DOM解析将整个XML文档加载到内存中,形成一个树形结构,可以方便地访问和修改任何...

    android下的pull解析器解析和生成xml文件

    为了有效地处理XML文档,Android提供了多种解析机制,其中一种就是Pull解析器(PULL Parser)。本篇将深入探讨Android下Pull解析器的使用,以及如何利用它来解析和生成XML文件。 一、Android Pull解析器简介 Pull...

    使用Android自带的XML解析器PULL解析器简单的解析xml

    Android系统提供了一种轻量级的XML解析方式——PULL解析器(Pull Parser),它适用于处理大型XML文档,因为它不需要像DOM解析器那样一次性加载整个XML文档到内存中。PULL解析器通过事件驱动的方式,按需解析XML文档...

    采用pull解析器解析和生成xml内容

    在Android开发中,由于其轻量级和高效的特点,Pull解析器成为了处理XML数据的一种常见方法。本篇文章将深入探讨如何在Android环境中使用内置的Pull解析器来解析和生成XML内容。 首先,我们需要理解什么是Pull解析器...

    android Pull XML文件解析 存取 代码程序

    本篇文章将深入探讨如何在Android中使用Pull解析器进行XML文件的解析和存取。 一、XML解析器简介 在Android中,有两种主要的XML解析方式:SAX(Simple API for XML)和DOM(Document Object Model)。SAX是事件驱动...

    xml PULL解析的一个小例子

    在Android开发中,由于其轻量级和高效的特点,XML Pull解析器成为处理XML文档的一种常见方法。本DEMO主要展示了如何在Android项目中使用XML Pull解析技术。 XML Pull解析器的工作方式是基于事件驱动的,它会读取XML...

    13pull解析xml天气信息

    在Android开发中,"13pull解析xml天气信息"是一个典型的任务,涉及到网络数据获取、XML解析以及用户界面展示等多个方面。在这个例子中,开发者通常会利用Android的Pull解析器来处理XML数据,从而获取并显示天气预报...

    Pull解析与生成Xml

    首先,我们引入Android的`org.xmlpull.v1.XmlPullParser`接口,它是实现Pull解析的核心。这个接口定义了一系列的方法,如`next()`用于移动到下一个事件,`getName()`用于获取当前事件的标签名,以及`getText()`用于...

Global site tag (gtag.js) - Google Analytics