如何迭代xml文件并将其存储在地图中

时间:2011-07-11 06:17:04

标签: c++ xml rapidxml

如何使用rapidXml迭代文件并将其存储在地图中......就像使用文件内容创建字典一样。我试过这个,但我只能获得第一级键值对而不是内层。

typedef map <string, string> MapType;
  MapType                 mProfiles;
        mXmlDocument.parse<parse_full>(&xml_copy[0]);

        for (xml_node<> *node = mXmlDocument.first_node();
             node; node = node->next_sibling())
        {
            mProfiles[node->name()] = node->value();
        }

1 个答案:

答案 0 :(得分:0)

除了节点的值,还要检查类型。如果类型为rapidxml:::node_elementrapidxml:::node_document,则可能有子女。

请参阅rapidxml::print_node中的成员函数rapidxml_print.hpp