這篇主要總結在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便可