iT邦幫忙

DAY 16
16

我愛吃蘋果系列 第 16

 [iPhone程式設計 之 iT邦幫忙 App] 如何選擇最適合你的 iOS App 的XML Library? 

這兩天在Google神殿裡爬了不少的文章,大概了解在iOS下如何做XML的parsing,也找到了一篇很棒的分析文章,在這跟大家分享!
網路上找到的這篇文章是「How To Choose The Best XML Parser for Your iPhone Project」而且還是今年三月算是蠻新的文章,作者比較了現在市面上比較受歡迎的7個 XML parser,還寫了一個App來測試各個XML parser的速度和記憶體使用率。測試程式XCode專案可在此 下載

其實iOS SDK裡,除了我最早介紹和目前所使用的libxml2之外,Apple還有另一個較高階且Objective-C化的NSXMLParser!其它幾個顯部份是based NSXMLParser衍生出來的更精簡或是更多功能的Parser。

作者的測試程式跑出來的數據圖如下
速度比較:

尖峰記憶體使用率比較

從第一張圖你可以發現,XCode內建的NSXMLParser是最慢的,而且慢很多 orz...
而大家比較熟知的TouchXML吃記體是最多的,但相對的,它所提供的功能比較容易使用。

作者最後給個判斷的方式,教你如何挑選最適合你的XML Library

  1. 只需要讀取小量的XML
    請選擇TouckXML, KissXML或GDataXML其中一種來用

  2. 需要同時讀取和寫入,但小量的XML
    請選擇KissXML或GDataXML

  3. 需要讀取非常大的XML
    libxml2(SAX, DOM)或是TBXML

那另外兩個NSXMLParse和TinyXML呢?
如果你只有小量XML的讀取需求,且不喜歡另外安裝上述第三方的XML parser的話,那就使用NSXMLParser吧。

至於TinyXML,中量的XML可以選使用它,但你必需對C的語法比較熟悉,使用上才會容易些。

所以你知道該如何選擇了嗎?


上一篇
 [iPhone程式設計 之 iT邦幫忙 App] Parse HTML 的瓶頸 
下一篇
 [iPhone程式設計 之 iT邦幫忙 App] HTML pa不成,那還有最後的絕招~ 
系列文
我愛吃蘋果30

尚未有邦友留言

立即登入留言