转载

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数据解析

正文到此结束
Loading...