使用pugixml将现有的xml_node附加到另一个中

时间:2013-04-04 18:18:38

标签: c++ xml-serialization pugixml

如何使用pugixml将现有的pugi::xml_node附加到另一个中? 我知道的唯一功能是:

pugi::xml_node node = root.append_child("child");

2 个答案:

答案 0 :(得分:4)

您应该使用此处描述的克隆功能:

http://pugixml.org/docs/manual.html#modify.clone

请注意,克隆函数无法克隆整个文档 - 即,如果您有一个从此数据加载的文档:

<node><child /></node>

然后,如果您想将此数据克隆到&lt; child&gt;节点,你应该这样做:

doc.child("node").child("child").append_copy(doc.child("node"));

这将产生以下文件:

<node><child><node><child /></node></child></node>

答案 1 :(得分:1)

我也找到了这个方法:http://pugixml.googlecode.com/svn/tags/release-0.9/docs/manual/modify.html

xml_node xml_node::append_child(xml_node_type type = node_element);
xml_node xml_node::insert_child_after(xml_node_type type, const xml_node& node);
xml_node xml_node::insert_child_before(xml_node_type type, const xml_node& node);
  

insert_child_after和insert_child_before在或之前添加(现有)节点   在指定的节点/属性之后。