-1

我有两个 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.xml 中。

有没有更好的方法来实现这一点?

4

1 回答 1

0

使用 XML 解析库当然更好,例如Boost Repository中的Property_Tree库中给出的一个,TinyXMLpugixml - 据说非常强大。

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

使用 Boost 读取和写入 XML 文件以获得更多信息。

于 2016-06-01T11:37:58.847 回答