C++ 六大有名庫(kù)的介紹——XML、Xerces、XMLBooster等等
在C++中,庫(kù)的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了設(shè)計(jì)庫(kù)來(lái)擴(kuò)充功能要好過(guò)設(shè)計(jì)更多的語(yǔ)法的言論?,F(xiàn)實(shí)中,C++的庫(kù)門(mén)類繁多,解決的問(wèn)題也是極其廣泛,庫(kù)從輕量級(jí)到重量級(jí)的都有。不少都是讓人眼界大開(kāi),亦或是望而生嘆的思維杰作。由于庫(kù)的數(shù)量非常龐大,而且限于筆者水平,其中很多并不了解。所以文中所提的一些庫(kù)都是比較著名的大型庫(kù)。
C++各大有名庫(kù)的介紹——XML
1、Xerces
Xerces-C++ 是一個(gè)非常健壯的XML解析器,它提供了驗(yàn)證,以及SAX和DOM API。XML驗(yàn)證在文檔類型定義(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XMLSchema 的基本完整的開(kāi)放標(biāo)準(zhǔn)。
2、XMLBooster
這個(gè)庫(kù)通過(guò)產(chǎn)生特制的parser的辦法極大的提高了XML解析的速度,并且能夠產(chǎn)生相應(yīng)的GUI程序來(lái)修改這個(gè)parser。在DOM和SAX兩大主流XML解析辦法之外提供了另外一個(gè)可行的解決方案。
3、Pull Parser
這個(gè)庫(kù)采用pull方法的parser。在每個(gè)SAX的parser底層都有一個(gè)pull的parser,這個(gè)xpp把這層暴露出來(lái)直接給大家使用。在要充分考慮速度的時(shí)候值得嘗試。
4、Xalan
Xalan是一個(gè)用于把XML文檔轉(zhuǎn)換為HTML,純文本或者其他XML類型文檔的XSLT處理器。
5、CMarkup
這是一種使用EDOM的XML解析器。在很多思路上面非常靈活實(shí)用。值得大家在DOM和SAX之外尋求一點(diǎn)靈感。
6、libxml++
libxml++是對(duì)著名的libxml XML解析器的C++封裝版本。
?
?
PS: 原文作者還漏了短小精干的TinyXml,同樣是用C++實(shí)現(xiàn),能應(yīng)用于PC各個(gè)平臺(tái)甚至于嵌入式平臺(tái)。