亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS開發(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:從根元素開始,按順序一個(gè)元素一個(gè)元素往下解析,比較適合解析大文件

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

  2-1、第三方框架:

    libxml2:純C語言,默認(rèn)包含在iOS SDK中,同時(shí)支持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個(gè)版本的XML解析工具類:

  

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

  

  5-2、然后使用:

  

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

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

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

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

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

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

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

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

相關(guān)文章

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

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

    這篇文章主要介紹了iOS 仿百度外賣-首頁重力感應(yīng)的實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    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實(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à)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 解決Alamofire庫在iOS7下設(shè)置Head無效的問題

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

    本文主要介紹Alamofire庫在iOS下設(shè)置Head,這里通過代碼實(shí)例解決不同版本的IOS系統(tǒng)出現(xià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)資料,希望通過本文能幫助到大家,讓大家掌握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í)搜索”功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論