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

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

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

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

正文:

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

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

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

  2-1、第三方框架:

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

    GDataXML:DOM方式解析,由Google開(kāi)發(fā),基于libxml2

  2-2、蘋(píng)果原生

    NSXMLParser:SAX方式解析,使用簡(jiǎn)單

  2-3、本人基于蘋(píng)果原生NSXMLParser封裝好的XML解析工具

    HYXMLParser:SAX方式解析,使用比NSXMLParser更簡(jiǎn)單,更簡(jiǎn)潔。

           下載地址:HYXMLParser

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

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

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

4、NSXMLParser使用示例:

   解析過(guò)程三步走:

  

  

  

5、關(guān)于HYXMLParser使用代碼示例圖(導(dǎo)入HYXMLParser之后就下面幾行代碼解析完畢,而且簡(jiǎn)單易用):

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

  

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

  

  5-2、然后使用:

  

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

  如果讀者熟悉蘋(píng)果原生的NSXMLParser,那么再來(lái)使用本人封裝好的這個(gè)HYXMLParser,你會(huì)發(fā)現(xiàn)本人封裝好的HYXMLParser很簡(jiǎn)單易用。

  同時(shí)建議剛學(xué)習(xí)XML解析的讀者先熟練掌握蘋(píng)果NSXMLParser解析,也就是前面第4點(diǎn)介紹的解析過(guò)程,再來(lái)學(xué)習(xí)使用本人的HYXMLParser。

6、簡(jiǎn)單說(shuō)說(shuō)本人封裝好的的HYXMLParser_3的實(shí)現(xiàn)思路。

  6-1、將蘋(píng)果原生的NSXMLParser通過(guò)代理方法SAX解析XML的方式封裝在一個(gè)普通的NSObject類中。

  6-2、在代理解析方法中,因?yàn)樾枰粩嗟膭?chuàng)建模型對(duì)象,這里我使用了NSObjectFromString方法,通過(guò)類的名字來(lái)創(chuàng)建類對(duì)象,然后通過(guò)類對(duì)象創(chuàng)建模型對(duì)象。

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

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

相關(guān)文章

  • iOS 仿百度外賣(mài)-首頁(yè)重力感應(yīng)的實(shí)例

    iOS 仿百度外賣(mài)-首頁(yè)重力感應(yīng)的實(shí)例

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

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

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

    ios原生二維碼掃描

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

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

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

    ios中Deep Linking實(shí)例分析用法

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

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

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

    解決Alamofire庫(kù)在iOS7下設(shè)置Head無(wú)效的問(wèn)題

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

    iOS實(shí)現(xiàn)計(jì)算器小功能

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

    Objective-C Json 實(shí)例詳解

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

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

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

最新評(píng)論