0

现在我正在使用 tinyxml2 库来合并几个 xml 文件。我想检查同一文件夹中的 xml 文件(我将使用绝对路径)。当我合并几个 xml 文件时,我将通过比较 Firstchild Element 及其第一个属性的值来删除重复项并合并它们。

我尝试了很多案例,但不确定哪些可以准确快速地合并。现在我将展示我想要得到的东西。

  • 第一个xml文件

    <?xml version='1.0' encoding='utf-8'?> 
    <osm version="0.6" generator="    ">
      <node id="147782" visible="true" version="1" />
      <node id="147788" visible="true" version="1" />
      <node id="147794" visible="true" version="1" />
      <node id="147829" visible="true" version="1" />
      <node id="147835" visible="true" version="1" />
      <node id="147843" visible="true" version="1" />
      <node id="147850" visible="true" version="1" />
      <way id="10808" visible="true" version="1">
        <nd ref="147788" />
        <nd ref="150133" />
        <nd ref="150145" /> 
      </way>
      <way id="10824" visible="true" version="1">
        <nd ref="156232" />
        <nd ref="156240" />
        <nd ref="156251" />
      </way>
    
  • 第二个xml文件

    <?xml version='1.0' encoding='utf-8'?>
    <osm version="0.6" generator="    ">
      <node id="147843" visible="true" version="1" />
      <node id="147850" visible="true" version="1" />
      <node id="438198" visible="true" version="1" />
      <node id="438199" visible="true" version="1" />
      <way id="10808" visible="true" version="1">
        <nd ref="147788" />
        <nd ref="150133" />
        <nd ref="150145" />
      </way>
      <way id="10821" visible="true" version="1">
        <nd ref="153211" />
        <nd ref="153230" />
        <nd ref="153243" />
      </way>
    
  • 合并的xml文件

     <?xml version='1.0' encoding='utf-8'?>
     <osm version="0.6" generator="    "> 
      <node id="147782" visible="true" version="1" />
      <node id="147788" visible="true" version="1" />
      <node id="147794" visible="true" version="1" />
      <node id="147829" visible="true" version="1" />
      <node id="147835" visible="true" version="1" />
      <node id="147843" visible="true" version="1" />
      <node id="147850" visible="true" version="1" />
      <node id="438198" visible="true" version="1" />
      <node id="438199" visible="true" version="1" />
      <way id="10808" visible="true" version="1">
        <nd ref="147788" />
        <nd ref="150133" />
        <nd ref="150145" />
      </way>
      <way id="10824" visible="true" version="1">
        <nd ref="156232" />
        <nd ref="156240" />
        <nd ref="156251" />
      </way>
      <way id="10821" visible="true" version="1">
        <nd ref="153211" />
        <nd ref="153230" />
        <nd ref="153243" /> 
      </way>
    

就像那个合并的 xml 文件一样,我想合并它们而不重叠。在这种情况下,它可以与节点 ID 和路径 ID 进行比较。

如果我的问题听起来模棱两可,我很抱歉。如果有不对的地方,我会尽快更正。

4

0 回答 0