XML 解析類庫對比

2022-08-30 09:30:14 字數 997 閱讀 6563

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

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

dom解析xml時,讀入整個xml文件並構建乙個駐留記憶體的樹結構(稱「節點樹」),之後就通過遍歷樹結構可以檢索任意xml節點,讀取它的屬性和值。而起通常情況下,可以借助xpath,直接查詢xml節點。 sax解析xml,是基於事件通知的模式,一邊讀取xml文件一邊處理,不必等整個文件載入完之後才採取操作,當在讀取解析過程中遇到需要處理的物件,會發出通知對其進行處理。

一般在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解析類庫對比

在iphone開發中,xml的解析有很多選擇,僅ios sdk就提供了nsxmlparser和libxml2兩個類庫,還有如tbxml touchxml kissxml tinyxml和gdataxml等第三方類庫。解析xml通常有兩種方式 dom和sax 一般在ios平台下,比較常用的xml解析類...

xml解析工具類

public class xmlutil parse xml from xmlstring param xmlstring param usenamespace return throws parserconfigurationexception throws saxexception throws...

XML解析工具類

xml解析工具類的封裝 之前在csdn上面寫了關於xml檔案的解析 那都是一些本地資料 今天 在開發的過程中涉及到 從伺服器返回xml檔案格式的資料 稍後會寫一些關於http請求的封轉 返回json格式的資料的部落格 到時候和大家一起分享 希望大家更多的和我一起進行討論和學習。主要實現的思路是 先傳...