rapidxml 解析数组字段

来源:互联网 发布:js表单验证正则表达式 编辑:程序博客网 时间:2024/05/17 01:37

C++ xml解析库很多,比如tinyxml,cmarkup,rapidxml 等等。其实都挺好用的。可能效率不一样,
据说rapidxml 效率高很多,就用了一下。还有个rapidjson解析json的,也挺快的。
rapidxml的文档很少,就一个manual.html.,我得吐槽一下,是在是太简单了。我要解析一个数组,查了半天都没有。
最终找到一个parent方法回到父节点,奇葩的是manual.html 没有显示此方法。
file.xml:

<root><file><filepath>123</filepath></file><file><filepath>123</filepath></file><file><filepath>123</filepath></file></root>

解析代码:

rapidxml::file<> fdoc("file.xml");    std::cout<<fdoc.data()<<std::endl;    rapidxml::xml_document<> doc;    doc.parse<0>(fdoc.data());    std::cout<<doc.name()<<std::endl;    //! 获取根节点    rapidxml::xml_node<>* root = doc.first_node();    std::cout<<root->name()<<std::endl;    //! 获取根节点第一个节点    rapidxml::xml_node<>* node;    for(node = root->first_node();node != NULL; node = node->next_sibling()){        node = root->first_node();        std::cout<<node->name()<<":"<<node->value()<<std::endl;        node = node->parent();//!!!    }
0 0
原创粉丝点击