这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法。XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSerialization。git
NSXMLParser是iOS原生的XML解析方式,采用SAX方式进行解析,特色是解析的时候从根元素开始,按顺序依次对每个元素进行解析。github
如下图所示XML文档为例进行解析spa
(1)首先是实例化一个NSXMLParser,设置代理监听解析过程,开始解析代理
(2)经过NSXMLParser代理方法对XML文档进行解析 xml
(3)解析效果对象
GDataXML是谷歌制做的一个解析XML数据的类库,基于libxml2,特色是以DOM方式解析,会把XML文档数据一次性加载到内存中,再对数据进行解析。blog
下载地址:https://github.com/neonichu/GDataXML内存
仍是使用上一节用到的XML文档为例,使用前须要进行配置开发
(1)设置头文件路径文档
(2)设置连接参数
(3)设置编译参数(GDataXML是非arc的)
加载整个XML文档,对元素进行遍历解析便可
JSON数据格式有以下要求,故获得数据后进行对应解析便可,在开发中经常使用的是将JSON解析为Foundation对象
拿到JSON数据直接使用NSJSONSerialization解析便可
对于JSON字符串最外层既不是NSArray也不是NSDictionary时,option选择NSJSONReadingAllowFragments便可