iPhone開發中的XML解析類庫對比

2021-06-08 10:21:10 字數 889 閱讀 7667

在iphone開發中,xml的解析有很多選擇,僅ios sdk就提供了nsxmlparser和libxml2兩個類庫,還有如tbxml、touchxml、kissxml、tinyxml和gdataxml等第三方類庫。

解析xml通常有兩種方式:dom和sax

一般在ios平台下,比較常用的xml解析類庫有如下幾種:

nsxmlparser這是乙個sax方式解析xml的類庫,預設包含在ios sdk中,使用也比較簡單。(下次專門總結學習)

tbxml     是一套輕量級的dom方式的xml解析類庫,有很好的效能和低記憶體占用,不過它不對xml格式進行校驗,不支援xpath,並且只支援解析,不支援對xml進行修改。

touchxml這也是一套dom方式的xml解析類庫,支援xpath,不支援xml的修改。

kissxml   這是一套基於touchxml的xml解析類庫,只不過實現了支援xml的修改。 

tinyxml   這是一套小巧的基於c語言的dom方式進行xml解析的類庫,支援對xml的讀取和修改,不直接支援xpath,需要借助tinyxpath才可以支援xpath。

gdataxml它是google開發的dom方式xml解析類庫,支援讀取和修改xml文件,支援xpath方式查詢。

以上幾大類庫,在讀取很小的xml文件上,效能基本沒有差別,不過從呼叫的方便性來說,建議使用touchxml、kissxml或gdataxml。

如果是需要讀取和修改xml文件,建議使用kissxml或gdataxml。

如果需要讀取非常大的xml文件,則建議使用libxml2或tbxml。

不想使用第三方類庫,則就使用ios自帶的nsxmlparser。

iPhone開發 解析xml NSData xml

xml字串為 解析按鈕事件 ibaction btnxml 解析器,從兩個結點之間讀取內容 void parser nsxmlparser parser foundcharacters nsstring string 獲得結點結尾的值 void parser nsxmlparser parser d...

iPhone解析非UTF 8的XML

做iphone的網路應用,處理xml是家常便飯,nsxmlparser用起來還是得心應手的。不過這個東西,處理非utf 8,會解析失敗。這篇文章就是想和大家一起分享一些這方面開發的新的。我們在某個rss位址,可以得到下面這樣的xml檔案。我這裡只是擷取一段,rthk on internet 即 時 ...

iPhone解析非UTF 8的XML

做iphone的網路應用,處理xml是家常便飯,nsxmlparser用起來還是得心應手的。不過這個東西,處理非utf 8,會解析失敗。這篇文章就是想和大家一起分享一些這方面開發的新的。我們在某個rss位址,可以得到下面這樣的xml檔案。我這裡只是擷取一段,rthk on internet 即 時 ...