文档详情

Android开发笔记XML数据解析方法及优缺点.docx

发布:2025-05-16约1.06万字共14页下载文档
文本预览下载声明

Android开发笔记XML数据解析方法及优缺点

目录何为XML数据如何解析XML数据1.Pull解析2.简单的Pull解析3.SAX解析

何为XML数据

XML指可扩展标记语言(eXtensibleMarkupLanguage)。

可扩展标记语言(英语:ExtensibleMarkupLanguage,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。其最主要的功能就是为了方便数据的传输与交换。

在Android开发中,我们有时候也需要从服务器上获取xml数据并加以解析

如何解析XML数据

1.Pull解析

这里我们根据谷歌官方的开发者文档提供的方法,也是其推荐的方法来解析xml数据。

1.分析Feed中感兴趣的标签内容

例如:

xmlversion=1.0encoding=utf-8

feedxmlns=/2005/Atomxmlns:creativeCommons=/creativeCommonsRssModule...

titletype=textnewestquestionstaggedandroid-StackOverflow/title

entry

/entry

entry

id/q/9439999/id

re:rankscheme=0/re:rank

titletype=textWhereismydatafile/title

categoryscheme=/feeds/tag

tagnames=androidsort=newest/tagsterm=android/

categoryscheme=/feeds/tag

tagnames=androidsort=newest/tagsterm=file/

author

namecliff2310/name

uri/users/1128925/uri

/author

linkrel=alternatehref=/

questions/9439999/where-is-my-data-file/

published2012-02-25T00:30:54Z/published

updated2012-02-25T00:30:54Z/updated

summarytype=html

pIhaveanApplicationthatrequiresadata

file.../p

/summary

/entry

entry

/entry

/feed

就是一份xml数据,其中两个对应中的内容即为一个标签中的内容,比如说entry标签中嵌套的id标签为:

id/q/9439999/id

其内容即为/q/9439999

2.选择解析器

为了解析xml数据,我们需要选择一些解析器来帮助我们分析数据。

官方文档中提到:

XmlPullParser,这是一种在Android上解析XML的高效且可维护的方式。以前,Android有此接口的两个实现:

KXmlParser(通过XmlPullParserFactory.newPullParser())。

ExpatPullParser(通过Xml.newPullParser())。

任一选择都可以。此部分中的示例使用ExpatPullParser(通过Xml.newPullParser())。

3.实例化解析器

前文提到过,有具体的两种方式实例化解析器,分别是用工厂类生成或者直接用实例生成。比如:

//工厂类生成:

XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();

XmlPullParserxmlPullParser=factory.newPullParser();

//实例生成:

XmlPullParserxmlPullParser=Xml.newPullParser();

两者任选其一即可。

4.然后我们可以具体配置一下解析器

publicclassStackOverflowXmlParser{

private

显示全部
相似文档