在C++中,庫的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了設計庫來擴充功能要好過設計更多的語法的言論。現實中,C++的庫門類繁多,解決的問題也是極其廣泛,庫從輕量級到重量級的都有。不少都是讓人眼界大開,亦或是望而生嘆的思維傑作。由於庫的數量非常龐大,而且限於筆者水平,其中很多並不瞭解。所以文中所提的一些庫都是比較著名的大型庫。
C++各大有名庫的介紹——XML
1、Xerces
參考網站:http://xml.apache.org/xerces-c/
Xerces-C++ 是一個非常健壯的XML解析器,它提供了驗證,以及SAX和DOM API。XML驗證在文檔類型定義(Document Type Definition,DTD)方面有很好的支持,並且在2001年12月增加了支持W3C XMLSchema 的基本完整的開放標準。
2、XMLBooster
參考網站:http://www.xmlbooster.com/
這個庫通過產生特製的parser的辦法極大的提高了XML解析的速度,並且能夠產生相應的GUI程序來修改這個parser。在DOM和SAX兩大主流XML解析辦法之外提供了另外一個可行的解決方案。
3、Pull Parser
參考網站:http://www.extreme.indiana.edu/xgws/xsoap/xpp
這個庫採用pull方法的parser。在每個SAX的parser底層都有一個pull的parser,這個xpp把這層暴露出來直接給大家使用。在要充分考慮速度的時候值得嘗試。
4、Xalan
參考網站:http://xml.apache.org/xalan-c/
Xalan是一個用於把XML文檔轉換爲HTML,純文本或者其他XML類型文檔的XSLT處理器。
5、CMarkup
參考網站:http://www.firstobject.com/xml.htm
這是一種使用EDOM的XML解析器。在很多思路上面非常靈活實用。值得大家在DOM和SAX之外尋求一點靈感。
6、libxml++
http://libxmlplusplus.sourceforge.net/
libxml++是對著名的libxml XML解析器的C++封裝版本。
------------------------------------------
本文轉自:
http://blog.csdn.net/thinkhy/article/details/5094613
PS: 原文作者還漏了短小精幹的TinyXml,同樣是用C++實現,能應用於PC各個平臺甚至於嵌入式平臺。