常見C/C++ XML解析器比較

來源:互聯網
上載者:User

常見C/C++ XML解析器有tinyxml、XERCES、squashxml、xmlite、pugxml、libxml等等,這些解析器有些是支援多語言的,有些只是單純C/C++的。如果你是第一次接觸到XML解析,那麼關於XML解析器的選擇問題的確令人頭疼,我們先看一下這些解析器有哪些特點。

一、Xerces XML解析器

官方網址:http://xerces.apache.org/xerces-c/

Xerces前身是IBM的XML4C,XML4C也是一種功能強大的XML解析器,之後交給Apache基金會管理,遂改名為Xerces,Xerces-C++讓你的程式提供讀寫XML資料更加容易,提供的共用庫通過DOM、SAX、SAX2 API等方式對XML文檔進行解析、產生、操作和驗證。

Xerces-C++忠實於XML 1.0建議和相關標準。

Xerces-C++解析器高效能、模組化並且可擴充。相關開發資料也比較完善。

除了C++版本,Xerces同時還提供Xerces Java,Xerces Perl等版本。

二、TinyXML解析器

官方網址:http://www.grinninglizard.com/tinyxml/

TinyXML相比Xerces要功能簡單些,正如其名Tiny,使用方法也比較簡單,TinyXML也是一個開源的解析XML解析庫,用於C++,支援Windows和Linux。TinyXML通過DOM模型遍曆和分析XML。官方文檔:

http://www.grinninglizard.com/tinyxmldocs/index.html

三、squashXML解析器

官方地址:http://ostatic.com/squashxml

這個解析器在國內似乎少人使用,這個解析器也有些曆史了。squashXML基於DOM Level2,也是一個XML輕量級的解析器。天緣之所以把這個寫上是天緣比較看重這個解析器的目錄劃分及使用說明,易懂而且易上手。

四、XMLBooster解析器

官方網址:http://www.xmlbooster.com/

XMLBooster開發關注點比較有特色,更加關註解析效能,聲稱:“Application integration of XML data cannot get any simpler or any faster: instead of dealing with sophisticated api (such as DOM or SAX), use a convenient data structure, generated to suit your specific purpose,
in the language of your choice. ”。

針對特殊需求使用更加方便的資料結構以提高效能。

五、LibXML解析器

官方地址:http://xmlsoft.org/

LibXML本來是為Gnome項目開發(C開發),之後被廣泛使用,功能非常強大,幾乎適合於常見的所有作業系統下編譯和開發使用。libxml++(地址:http://libxmlplusplus.sourceforge.net/)是對libxml
XML解析器的C++封裝版本。此外還有各種語言封裝包,參加官方連結。

補充:

除了上述XML解析庫外,還有一些XML解析器(參考:http://www.garshol.priv.no/xmltools/platform/cpp.html),比如Berkely DBXML(BDB)等,有興趣的讀者可自行Google搜尋。

儘管XML解析器有很多種,而且功能差異很大,甚至是支援跨平台、多語言,但是對於你的應用而言,盡量選擇一種相對熟悉、功能夠用的即可,沒必要去追求龐雜的解析器,我們只需關註:功能夠用、相對穩定、適合擴充這三個功能即可。一旦有問題,修正和擴充都要更為容易。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.