比较并添加从一个xml到另一个xml的元素

时间:2011-03-03 10:39:53

标签: c++ windows tinyxml

我有两个xml文件

XML1

 <node>
    <name>abc</name>
    <age>25</age>
  </node>

XML2

 <node>
    <name>abc</name>
    <age>25</age>
  </node>
  <node>
    <name>xyz</name>
    <age>27</age>
  </node>

我想比较这两个文件,并将缺少的节点从XML2添加到XML1。 我在C ++中使用tinyxml。

我正在考虑为每个节点添加一个guid,即

<node id={732C8F52-D3E2-4929-9199-48F8F38EA5D3}>
    <name>xyz</name>
    <age>27</age>
  </node>

现在,当我进行比较时,我可以循环遍历xml中的节点并根据id比较节点,并将缺少的节点添加到XML1中。

有没有更好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

使用XML解析库当然更好,例如在Property_TreeBoost RepositoryTinyXMLpugixml库中给出的一个 - 据说非常强大。

您必须能够根据上述功能找到一些比较器(或简单地构建一个比较器)并比较您的记录。

Using Boost to read and write XML files了解更多信息。