1.XML的介紹:
1、XML解析方式有2兩種:
DOM:一次性將整個(gè)XML數(shù)據(jù)加載進(jìn)內(nèi)存進(jìn)行解析,比較適合解析小文件
SAX:從根元素開(kāi)始,按順序一個(gè)元素一個(gè)元素往下解析,比較適合解析大文件
2.XML解析方案很多:
2-1、第三方框架:
libxml2:純C語(yǔ)言,默認(rèn)包含在iOS SDK中,同時(shí)支持DOM和SAX解析
GDataXML:DOM方式解析,由Google開(kāi)發(fā),基于libxml2
2-2、蘋果原生
NSXMLParser:SAX方式解析,使用簡(jiǎn)單
2-3、本人基于蘋果原生NSXMLParser封裝好的XML解析工具
HYXMLParser:SAX方式解析,使用比NSXMLParser更簡(jiǎn)單,更簡(jiǎn)潔。
下載地址:[HYXMLParser](https://github.com/HeYang123456789/XMLParser)
3.XML解析方式的選擇建議:
大文件:NSXMLParser或者[HYXMLParser]
(https://github.com/HeYang123456789/XMLParser)、libxml2(但是幾乎不用)
小文件:GDataXML、NSXMLParser或者[HYXMLParser]
(https://github.com/HeYang123456789/XMLParser)、libxml2
4.NSXMLParset使用方法:
解析過(guò)程三步驟:
XMLParseDelegate.png
image.png
image.png
5.封裝NSXMLParser而創(chuàng)建的使用方法
<好處:使用方便,可以面向任意類型的模型對(duì)象解析XML,復(fù)用性高,與外界高內(nèi)聚低耦合>
這里展示的示例是從我的github上HYXMLParser下載的XMLParser_3這第3個(gè)版本的XML解析工具類:
image.png
5.1將HYXMLParse文件工具類直接拷貝到你的項(xiàng)目中去
image.png
5.2使用方法:
image.png
根據(jù)實(shí)際情況,字典轉(zhuǎn)模型的方法可能使用MJExtension代替kvc更合適