你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發使用XML解析網絡數據

iOS開發使用XML解析網絡數據

編輯:IOS開發綜合

前言:本篇隨筆介紹的是XML解析。

正文:

1、XML解析方式有2兩種:

DOM:一次性將整個XML數據加載進內存進行解析,比較適合解析小文件SAX:從根元素開始,按順序一個元素一個元素往下解析,比較適合解析大文件

2、IOS中XML解析方案有很多種:

  2-1、第三方框架:

    libxml2:純C語言,默認包含在iOS SDK中,同時支持DOM和SAX解析

    GDataXML:DOM方式解析,由Google開發,基於libxml2

  2-2、蘋果原生

    NSXMLParser:SAX方式解析,使用簡單

  2-3、本人基於蘋果原生NSXMLParser封裝好的XML解析工具

    HYXMLParser:SAX方式解析,使用比NSXMLParser更簡單,更簡潔。

           下載地址:HYXMLParser

3、XML解析方式的選擇建議

  大文件:NSXMLParser或者HYXMLParser、libxml2(但是幾乎不用)

  小文件:GDataXML、NSXMLParser或者HYXMLParser、libxml2

4、NSXMLParser使用示例:

   解析過程三步走:

  

  

  

5、關於HYXMLParser使用代碼示例圖(導入HYXMLParser之後就下面幾行代碼解析完畢,而且簡單易用):

  這裡展示的示例是從HYXMLParser下載的XMLParser_3這第3個版本的XML解析工具類:

  

  5-1、先將HYXMLParse文件工具類直接拷貝你的項目中:

  

  5-2、然後使用:

  

  根據實際需求,字典轉模型的方法可能用MJExtension代替KVC最合適。

  如果讀者熟悉蘋果原生的NSXMLParser,那麼再來使用本人封裝好的這個HYXMLParser,你會發現本人封裝好的HYXMLParser很簡單易用。

  同時建議剛學習XML解析的讀者先熟練掌握蘋果NSXMLParser解析,也就是前面第4點介紹的解析過程,再來學習使用本人的HYXMLParser。

6、簡單說說本人封裝好的的HYXMLParser_3的實現思路。

  6-1、將蘋果原生的NSXMLParser通過代理方法SAX解析XML的方式封裝在一個普通的NSObject類中。

  6-2、在代理解析方法中,因為需要不斷的創建模型對象,這裡我使用了NSObjectFromString方法,通過類的名字來創建類對象,然後通過類對象創建模型對象。

     這樣就模型對象的類名可以通過參數NSString類型外部傳入,同時實現了與模型對象的解耦,不需要import需要的模型對象的類。

  6-3、根據實際需求,可能需要MJExtension字典轉模型來替代功能有限的蘋果原生的KVC,所以這裡用Block來提供對外公開的接口,讓外部自由選擇字典轉模型的方法。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved