如何在c ++中使用Rapidxml将新子节点附加到现有文件

问题描述

以下是我使用 Rapidxml 创建 xml 的代码

...

        std::ofstream theFile(pathtocheck);
        xml_document<> doc;

        xml_node<>* root = doc.allocate_node(node_element,"ApplicationsDetails");
        doc.append_node(root);

        //child Node : <ApplicationData>
        xml_node<>* child = doc.allocate_node(rapidxml::node_element,"ApplicationInfo");
        

        child->append_attribute(doc.allocate_attribute("ApplicationID","1234"));
        child->append_attribute(doc.allocate_attribute("ApplicationTitle","Saha"));

        root->append_node(child);
        theFile << doc;

        theFile.close();

        doc.clear();

...

以下是保存到文件的节点。 ...

  <ApplicationsDetails>
                <ApplicationInfo ApplicationID="1234" ApplicationTitle="Saha" />
   </ApplicationsDetails>

...

现在,我想将新的子节点附加到该 xml,就像我必须打开该文件并读取节点并像下面这样附加新的子节点一样,所以总输出应该是 ...

<ApplicationsDetails>
        <ApplicationInfo ApplicationID="1234" ApplicationTitle="Saha" />
        <ApplicationInfo ApplicationID="5678" ApplicationTitle="nagg" />
    </ApplicationsDetails>

...

我试过了,但不知何故,节点没有正确附加,有人可以建议代码吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...