TinyXml 与 Rapidxml效率对照

Posted jhcelue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TinyXml 与 Rapidxml效率对照相关的知识,希望对你有一定的参考价值。

        曾经在做开发中一直使用TinyXml,在网上搜索说Rapidxml的效率比tinyXml高。个人比較喜欢追求效率。所以忍不住尝试性使用Rapidxml。

RapidXml 的官方站点例如以下: http://rapidxml.sourceforge.net/manual.html

     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())
{
    ...
}

















以上是关于TinyXml 与 Rapidxml效率对照的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ 使用 tinyxml库 操作XML格式文件(创建插入删除修改解析)

RapidXML 从文件中读取 - 这里有啥问题?

如何用C++读取XML中的xsd信息

RapidXml用法

java int转String全部方式的效率对照与深入解析

从头认识java-14.1 再次对照数组与容器