您所在的位置:小祥子 » 编程 » IOS » 正文

iOS开发笔记3:XML/JSON数据解析

时间:2015-06-01 编辑:colinhou 来源:本站整理

    这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法。XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSerialization。

    1.XML解析之NSXMLParser

    NSXMLParser是iOS原生的XML解析方式,采用SAX方式进行解析,特点是解析的时候从根元素开始,按顺序依次对每一个元素进行解析。

    以下图所示XML文档为例进行解析

 

    (1)首先是实例化一个NSXMLParser,设置代理监听解析过程,开始解析

    (2)通过NSXMLParser代理方法对XML文档进行解析  

     (3)解析效果

          

    2.XML解析之GDataXML

     GDataXML是谷歌制作的一个解析XML数据的类库,基于libxml2,特点是以DOM方式解析,会把XML文档数据一次性加载到内存中,再对数据进行解析。

     下载地址:https://github.com/neonichu/GDataXML

     还是使用上一节用到的XML文档为例,使用前需要进行配置

    (1)设置头文件路径

    

     (2)设置链接参数

    (3)设置编译参数(GDataXML是非arc的)

     加载整个XML文档,对元素进行遍历解析即可  

    3.JSON解析之NSJSONSerialization

     JSON数据格式有如下要求,故得到数据后进行对应解析即可,在开发中常用的是将JSON解析为Foundation对象

     拿到JSON数据直接使用NSJSONSerialization解析即可    

    对于JSON字符串最外层既不是NSArray也不是NSDictionary时,option选择NSJSONReadingAllowFragments即可

    

关键词:笔记 XML JS 数据