rapidxml是一个由C++模板实现的高效率xml解析库,号称解析速度比tinyxml快50倍(忽悠),并作为boost::property的内置解析库:
其独立版本的官网:http://rapidxml.sourceforge.net/ 使用rapidxml的方法tinyxml极其类似,但要求被解析的字符串必须已经将整个装入内存,它不是步进的解析方法: 包含必要的头文件#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()) { ... } 遍历所有属性for(rapidxml::xml_attribute<char> * attr = node->first_attribute("node name"); attr != NULL; attr = attr->next_attribute()) { ... } 获取属性值char * value = attr->value();