欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)使用XML解析網(wǎng)絡(luò)數(shù)據(jù)

 更新時間:2016年02月14日 09:32:40   作者:Good_HeYang  
XML解析其實這個概念出現(xiàn)了算夠久了,以前javaweb什么到處都在用。這邊我們主要大致介紹下,然后在在ios編程如何使用。

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

正文:

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

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

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

  2-1、第三方框架:

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

    GDataXML:DOM方式解析,由Google開發(fā),基于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、關(guān)于HYXMLParser使用代碼示例圖(導(dǎo)入HYXMLParser之后就下面幾行代碼解析完畢,而且簡單易用):

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

  

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

  

  5-2、然后使用:

  

  根據(jù)實際需求,字典轉(zhuǎn)模型的方法可能用MJExtension代替KVC最合適。

  如果讀者熟悉蘋果原生的NSXMLParser,那么再來使用本人封裝好的這個HYXMLParser,你會發(fā)現(xiàn)本人封裝好的HYXMLParser很簡單易用。

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

6、簡單說說本人封裝好的的HYXMLParser_3的實現(xiàn)思路。

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

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

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

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

相關(guān)文章

  • iOS 仿百度外賣-首頁重力感應(yīng)的實例

    iOS 仿百度外賣-首頁重力感應(yīng)的實例

    這篇文章主要介紹了iOS 仿百度外賣-首頁重力感應(yīng)的實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • iOS性能優(yōu)化教程之頁面加載速率詳解

    iOS性能優(yōu)化教程之頁面加載速率詳解

    在軟件開發(fā)領(lǐng)域里經(jīng)常能聽到這樣一句話,“過早的優(yōu)化是萬惡之源”,不要過早優(yōu)化或者過度優(yōu)化。下面這篇文章主要給大家介紹了關(guān)于iOS性能優(yōu)化教程之頁面加載速率的相關(guān)資料,需要的朋友可以參考下
    2018-09-09
  • ios原生二維碼掃描

    ios原生二維碼掃描

    本文給大家介紹ios原生二維碼掃描,有需要的朋友可以參考下
    2015-09-09
  • iOS實現(xiàn)圓環(huán)比例圖

    iOS實現(xiàn)圓環(huán)比例圖

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)圓環(huán)比例圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • ios中Deep Linking實例分析用法

    ios中Deep Linking實例分析用法

    本篇文章給大家分享了在IOS中Deep Linking的用法以及代碼實例,有興趣的朋友跟著學(xué)習(xí)下吧。
    2018-01-01
  • iOS實現(xiàn)可以縱向橫向滑動的表格實例代碼

    iOS實現(xiàn)可以縱向橫向滑動的表格實例代碼

    這篇文章主要給大家介紹了利用iOS實現(xiàn)可以縱向橫向滑動的表格的相關(guān)資料,文中給出了詳細(xì)的實現(xiàn)方法示例代碼,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 解決Alamofire庫在iOS7下設(shè)置Head無效的問題

    解決Alamofire庫在iOS7下設(shè)置Head無效的問題

    本文主要介紹Alamofire庫在iOS下設(shè)置Head,這里通過代碼實例解決不同版本的IOS系統(tǒng)出現(xiàn)的問題,有需要的小伙伴可以參考下
    2016-07-07
  • iOS實現(xiàn)計算器小功能

    iOS實現(xiàn)計算器小功能

    這篇文章主要介紹了iOS實現(xiàn)計算器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Objective-C Json 實例詳解

    Objective-C Json 實例詳解

    這篇文章主要介紹了 Objective-C Json 實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握Object-C Json的使用,需要的朋友可以參考下
    2017-10-10
  • iOS 使用UITextField自定義搜索框 實現(xiàn)用戶輸入完之后“實時搜索”功能

    iOS 使用UITextField自定義搜索框 實現(xiàn)用戶輸入完之后“實時搜索”功能

    這篇文章主要介紹了iOS 使用UITextField自定義搜索框 實現(xiàn)用戶輸入完之后“實時搜索”功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論