在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 即 時 ...