使用RapidXML将xml文件内容转换为字符串

时间:2014-06-02 10:16:21

标签: c++ rapidxml

我使用RapidXML修改现有的XML文档。这是我的代码:

    file<> xmlFile( launchFullPath.c_str() );
    xml_document<> doc;
    doc.parse<0>(xmlFile.data());

    // create a node called basedir
    xml_node<> *basedir = doc.allocate_node(node_element, "basedir");

    // append basedir to the launch
    xml_node<> *node = doc.first_node("launch");
    node->append_node(basedir);

    // append attribute to basedir
    xml_attribute<> *attr = doc.allocate_attribute("path", SUMOfullDirectory.c_str());
    basedir->append_attribute(attr);

最终,XML的内容将是:

<launch>
    <copy file="hello.net.xml"/>
    <copy file="hello.rou.xml"/>
    <copy file="hello.loopDetector.xml"/>
    <copy file="hello.obstacles.xml"/>
    <copy file="hello.sumo.cfg" type="config"/>
    <basedir path="/home/mani/Desktop/VENTOS/sumo/Incident_Detection"/>
    <seed value="0"/>
</launch>

最后,我想将XML文档的内容转换为字符串。如您所见(从eclipse IDE中的调试模式),XML文件的内容未正确存储到 st 变量中。我也使用了RapidXML :: print方法,结果是一样的。这可能有什么问题?

enter image description here

0 个答案:

没有答案