Android学习笔记036之网络数据解析解读.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android学习笔记036之网络数据解析解读

Android学习笔记036之网络数据解析 前面我们介绍了HTTP协议和Android中通过HTTP协议通信的两种方式:HttpUrlConnection和HttpClient,这些都只是在协议层的,数据在网络中传递需要有一定的格式才能被识别的解析,目前,常用的有XML和JSON,那么这一篇,我们来学习一下XML数据和JSON数据的解析: 1、XML数据解析   XML不仅仅在Android中常用,在各种应用中也广泛使用,是承载数据的一个重要角色。作为一个Android开发者,我们需要学会在Android中读写XML数据,下面我们开始学习一下XML数据的解析吧! 1.1、XML数据简介   XML 是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分。您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息。您创建的文件,或文档实例 由元素(标记)和内容构成。当从打印输出读取或以电子形式处理文档时,元素能够帮助更好地理解文档。元素的描述性越强,文档各部分越容易识别。在这里就不在做很深入的学习了,我们只需要知道,XML可以用来存储数据,可以将XML当成是一个小型的数据库,前面我们学习Android数据存储的时候,学习到的SharedPreference存储方式中,底层存储数据就是通过XML的形式。XML数据解析方式有三种,分别是SAX方式、DOM方式、PULL方式,那么我们开始学习一下这三种方式解析XML数据吧! 1.2、SAX方式解析XML数据   SAX(Simple API for XML)解析器是一个基于事件的解析方式,由事件流驱动,从文档的顺序开始到文档结束,中间不可以回退或者暂停。SAX解析器解析速度快,占用内存少,非常适合在Android端使用。   SAX解析器的解析原理就是:对文档进行顺序扫描,当扫描到文档开始,元素开始和结束,文档结束等地方时通知事件处理函数,事件处理函数做出相应处理之后继续扫描,直到文档扫描结束。 常用的SAX接口和类: Attrbutes:用于得到属性的个数、名字和值。 ContentHandler:定义与文档本身关联的事件(例如,开始和结束标记)。大多数应用程序都注册这些事件。 DTDHandler:定义与DTD关联的事件。它没有定义足够的事件来完整地报告DTD。如果需要对DTD进行语法分析,请使用可选的DeclHandler。 DeclHandler是SAX的扩展。不是所有的语法分析器都支持它。 EntityResolver:定义与装入实体关联的事件。只有少数几个应用程序注册这些事件。 ErrorHandler:定义错误事件。许多应用程序注册这些事件以便用它们自己的方式报错。 DefaultHandler:它提供了这些接LI的缺省实现。在大多数情况下,为应用程序扩,DefaultHandler并覆盖相关的方法要比直接实现一个接口更容易。 SAX解析器的使用步骤: 1、通过SAXParserFactory.newInstance()创建一个SAXParserFactory对象 2、通过SAXParserFactory.newSAXParser()方法返回一个SAXParser解析器 3、实例化一个DefaultHandler对象 4、将第二步创建的SAXParser分配给解析器,对文档进行解析,将事件发送给处理器 下面我们通过一个简单的例子体会一下SAX解析XML数据: 首先是SAXHandler代码: package com.example.datasave; import android.util.Log; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import java.util.ArrayList; import java.util.List; /** * Created by Devin on 2016/7/25. */ public class SAXHandler extends DefaultHandler { private CarModel mCarModel; private ListCarModel mCarModels = new ArrayList(); private static String TAG = SAXHandler; private String result; @

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档