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

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

1.XML解析之NSXMLParser

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

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

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

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

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

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

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

(3)解析效果

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

2.XML解析之GDataXML

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

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

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

(1)设置头文件路径

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

(2)设置链接参数iOS开发笔记3:XML/JSON数据解析

(3)设置编译参数(GDataXML是非arc的)iOS开发笔记3:XML/JSON数据解析

加载整个XML文档,对元素进行遍历解析即可  iOS开发笔记3:XML/JSON数据解析

3.JSON解析之NSJSONSerialization

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

拿到JSON数据直接使用NSJSONSerialization解析即可iOS开发笔记3:XML/JSON数据解析

对于JSON字符串最外层既不是NSArray也不是NSDictionary时,option选择NSJSONReadingAllowFragments即可iOS开发笔记3:XML/JSON数据解析

上一篇:iOS学习笔记(十一)——JSON数据解析


下一篇:浅谈JSON数据解析方法