XML:擴(kuò)展標(biāo)記語言(Extensible Markup Language, XML),是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言蛛砰。
主要目的是:傳輸和存儲數(shù)據(jù)儡蔓。
1优床、XML數(shù)據(jù)解析有兩種方式:DOM解析、SAX解析烘豹。
2瓜贾、DOM解析必須先完成DOM樹的構(gòu)造,在處理規(guī)模較大的XML文檔時吴叶,會很耗費(fèi)內(nèi)存阐虚,占用資源較多。
3蚌卤、SAX解析與DOM不同的是实束,它是用事件驅(qū)動模型,解析XML文檔時逊彭,每遇到一個開始或結(jié)束的標(biāo)簽咸灿、或者是屬性、指令時侮叮,程序就會產(chǎn)生一個事件來進(jìn)行相應(yīng)的處理避矢,因此,SAX相對于DOM來說,更適合操作大型的XML文檔审胸;
DOM解析XML時亥宿,讀入整個XML文檔并構(gòu)建一個駐留內(nèi)存的樹結(jié)構(gòu),通過遍歷樹結(jié)構(gòu)砂沛,可以檢索任意XML節(jié)點(diǎn)烫扼,讀取它的屬性和值,并且通常情況下碍庵,可以借助XPath映企,直接查詢XML節(jié)點(diǎn)。
SAX解析XML時静浴,是基于事件通知的模式堰氓,一邊讀取XML文檔,一邊處理苹享,不必等整個文檔都結(jié)束之后才采取操作双絮,當(dāng)在讀取解析過程中遇到需要處理的對象,會發(fā)出通知對其進(jìn)行處理得问。
可以導(dǎo)入Google提供的第三方庫GData進(jìn)行解析掷邦;
文件導(dǎo)入及環(huán)境設(shè)置步驟:
1、導(dǎo)入GDataXML庫椭赋。
2、設(shè)置頭文件的搜索路徑
Build Setting->Header Search Path 添加/user/include/libxml2或杠。
3哪怔、添加bxml二進(jìn)制庫
Build Phases->Link Binary 添加 libxml2.dylib (libxml2.tbd)。
4向抢、如果工程處于ARC環(huán)境下认境,
Build Phases->Compile Source File GDataXmlNode.m(非ARC文件) 添加混編 -fon-objc-arc