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/
service中的代码
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;
}
}
分享到:
相关推荐
pull解析xml文件,和sax和dom一样 都可以脱离android单独使用,pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字, 读取到xml的声明返回数字0 START_DOCUMENT; 读取到xml的结束返回数字1 ...
在标题和描述中提到的“Pull解析xml源码导入即可用”,意味着已经提供了一个预编写的XML Pull解析模板。这个模板可能包含了实现`XmlPullParser`接口的类,封装了XML解析的核心逻辑,如事件处理(如开始标签、结束...
"Android pull解析xml源码"这个主题聚焦于使用Android的XML Pull解析器来理解和操作XML文档。Pull解析器是一种事件驱动的解析方法,与DOM(Document Object Model)和SAX(Simple API for XML)不同,它不需要将整个...
Android ReadXmlByPull 使用Pull解析Xml文件.zip项目安卓应用源码下载Android ReadXmlByPull 使用Pull解析Xml文件.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目...
在`Android ReadXmlByPull 使用Pull解析Xml文件`这个源码资源中,你可以看到完整的实现过程,包括如何创建和配置PullParser,如何读取XML文件,以及如何处理各种XML事件。通过学习和分析这段代码,你可以更好地理解...
最后,关于提供的图片资源`1-120Z4013F10-L.png`和文本文件`Android ReadXmlByPull 使用Pull解析Xml文件`可能包含示例代码或图解,它们可以帮助更好地理解XML Pull解析的过程。在实际开发中,结合这些辅助材料,可以...
在给定的"Android ReadXmlByPull 使用Pull解析Xml文件"源码Demo中,开发者可能已经实现了上述步骤,并提供了清晰的示例代码供学习。通过阅读源码,你可以更深入地了解如何在实际项目中运用Pull解析器来处理XML数据,...
在给定的"ReadXmlByPull 使用Pull解析Xml文件"示例中,你可以找到一个具体的实现,通过阅读源码,你可以更深入地理解Pull解析的工作原理和使用方式。在实际项目中,可以根据需求调整解析逻辑,如对XML数据进行过滤、...
本教程将深入探讨如何在Android系统中使用Pull解析器(Pull Parser)来读取和解析XML文件,以实现高效的数据处理。我们将通过分析"ReadXmlByPull"的源码来理解这一过程。 首先,让我们了解什么是Pull解析器。Pull...
使用Pull解析XML的基本流程: 1. 创建Pull解析器:通过`XmlPullParserFactory`工厂类实例化`XmlPullParser`。 2. 设置输入源:根据XML文件来源(如文件、网络流等)设置解析器的输入源。 3. 开始解析:调用`next()`...
在Android系统中,XML Pull解析器是一个轻量级、高效的解析XML文档的工具,它不需要DOM(Document Object Model)或者SAX(Simple API for XML)等完整的解析器支持。Pull解析器允许开发者通过事件驱动的方式顺序...
在实际开发中,如Android的布局文件解析、配置文件读取或者从网络获取XML数据时,都可以使用Pull解析器进行处理。由于其高效和轻量级的特性,尤其在资源有限的环境中,Pull解析是首选的XML处理方式。 在博客链接...
本资料包“android解析xml源码和ppt”提供了关于Android系统如何解析XML以及相关PPT的深入讲解。以下是关于这个主题的详细知识点: 1. XML解析器类型: - DOM(Document Object Model)解析器:它一次性加载整个...
与DOM解析器相比,Pull解析器不创建整个XML文档的树结构,因此在处理大型XML文件时更为高效。 在Android中,XML Pull解析器主要由`org.xmlpull.v1.XmlPullParser`接口及其实现类提供。开发者可以通过`...
总的来说,这份源码涵盖了Android开发中的核心技能之一——XML解析,无论是对DOM的深入理解还是对Pull解析的实践操作,都将对你的Android编程能力有显著提升。通过学习和研究,你不仅可以增强技术实力,还能为未来的...
总结起来,DOM解析适合小规模、频繁修改的XML文档,而Pull解析适用于处理大型文件或网络流。在实际开发中,根据项目需求和性能考虑选择合适的解析方式。了解这两种解析方式的原理和使用,对于深入理解Android系统...
在Android开发中,解析XML是常见的任务,用于处理配置文件、数据交换等。本文将深入探讨两种主要的XML解析方式:DOM(文档对象模型)和PULL(轻量级拉取解析器)。这两种方法各有优缺点,适用于不同的场景。下面我们...
在Android资源文件中,可以使用`XmlResourceParser`解析XML,它是基于Pull解析器的,专为处理Android资源设计。例如,解析布局文件、首选项设置等,可以通过`Resources.getXml(int resid)`获取`XmlResourceParser`...