在開發(fā)過程中迹淌,我們基本上都會(huì)碰到XML的數(shù)據(jù),如何解析呢己单?目前主流的解析方案除了谷歌發(fā)布的DDXML外唉窃,還有什么KISSXML,TOUCHXML等等纹笼,鄙人對(duì)這幾個(gè)xml解析庫均做了翻牌子纹份,發(fā)現(xiàn)使用起來不是怎么順手!當(dāng)然在開發(fā)出NSXmlKit之前廷痘,鄙人一律使用的是谷歌發(fā)布的DDXML蔓涧,雖然功能強(qiáng)大,但是唯一不足的是笋额,無法直接將XML解析為NSDictionary!
為什么要有這么一個(gè)直接解析為NSDictionary方法呢元暴?對(duì)XML熟悉的朋友都知道,如果層級(jí)較淺時(shí)兄猩,都希望直接得到一個(gè)可操作的對(duì)象來直接取值茉盏,而不是再一層一層的解析,這樣顯得太過于浪費(fèi)時(shí)間!當(dāng)然你可以在DDXML基礎(chǔ)上封裝自己的TO NSDictionary方法枢冤!但是在層級(jí)較深時(shí)鸠姨,調(diào)用你這個(gè)方法,可能會(huì)出現(xiàn)數(shù)據(jù)解析丟失淹真、結(jié)構(gòu)混亂讶迁、節(jié)點(diǎn)混亂等問題!
而IOS開發(fā)SDK中提供了NSXMLParser解析類趟咆,說實(shí)話添瓷,我看見這東西都覺的是個(gè)垃圾!個(gè)人觀點(diǎn)梅屉,嘴子勿噴!解析起來那怎么一個(gè)凌亂了得鳞贷!更不說層級(jí)太深時(shí)解析過程坯汤,那更崩潰!
最近一段時(shí)間終于不怎么忙了搀愧,就研究了一下libxml.dtd這個(gè)玩意惰聂,發(fā)現(xiàn)里面其實(shí)提供了很多解析結(jié)構(gòu)體和方法,于是再回頭看看DDXML咱筛,原來它其實(shí)也只是對(duì)libxml.dtd二次封裝而已搓幌!由于興趣使然,于是決定自己寫個(gè)解析類迅箩,DDXML有功能得有溉愁,DDXML沒有的功能更得有!于是乎,孜孜不倦饲趋。拐揭。。奕塑。堂污。此處省略100個(gè)字。龄砰。
于是乎在省略了幾百個(gè)字后盟猖。。换棚。式镐。。
NSXmlKit終于經(jīng)常測試確認(rèn)固蚤,實(shí)踐調(diào)用后碟案,成功出世!颇蜡。价说。。
這里就不再詳細(xì)的贅述其實(shí)現(xiàn)了风秤,有興趣的朋友自己下載看看吧鳖目,如果有更好的方案,請朋友們不吝賜教缤弦!