TinyXml 與 Rapidxml效率對比
以前在做開始中一直沒用TinyXml,在網上搜索說Rapidxml的效率比tinyXml高。個人比較喜歡追求效率,所以忍不住嘗試性使用Rapidxml。RapidXml 的官方網站如下: http://rapidxml.sourceforge.net/manual.html。</span> RapidXml是一個使用C++編寫的XML DOM解析工具包,整個解析工具包包含在一個頭文件中,所以使用時不用編譯也不用連接。只要包含rapidxml中的三個頭文件即可。RapidXml 試圖成為最快的 XML DOM 解析工具包,同時保證解析結果的可用性、可移植性以及與 W3C 標準的兼容性。在操作同一數據時,其解析速度接近于 strlen() 函數。以下是RapidXml提供的常見xml庫效率對照表,其中還很牛鼻地提供了和strlen()函數的效率對比。如下圖是其他網友提供非本人對比數據:
二、簡單使用
包含必要的頭文件
#include "rapidxml.hpp"
創建文檔對象
rapidxml::xml_document<char> doc;
分析xml字符串,要求以'\0'結尾
std::string str(...);
doc.parse<0>(const_cast<char *>(str.c_str()));
獲取節點
rapidxml::xml_node<char> * node = doc.first_node("node name");
遍歷所有節點
for(rapidxml::xml_node<char> * node = parent_node->first_node("node name");
node != NULL;
node = node->next_sibling())
{
...
}
來自:http://blog.csdn.net/wenrenhua08/article/details/40343529