使用rapidxml解析xml

    技术2024-12-08  27

     

    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();  

     

    最新回复(0)