0

我有两个 xml 文件,如下所示,我需要从一个 xml 读取一个节点并将该节点附加到另一个 xml 文件。

xml文件:1

<A>
  <B>
    <c>1<c/>
    <d>2<d/>
    <e>3<e/>
  </B>
</A>

xml文件:2

<AA>
  <BB>
    <cc>1<cc/>
    <dd>2<dd/>
    <ee>3<ee/>
    <ff>
       <gg>4</gg>
    <ff>
  </BB>
</AA>

结果

<A>
    <B>
      <BB>
        <cc>1<cc/>
        <dd>2<dd/>
        <ee>3<ee/>
        <ff>
           <gg>4</gg>
        <ff>
      </BB>
        <c>1<c/>
        <d>2<d/>
        <e>3<e/>
    </B>
</A>

非常感谢您提供的任何建议。

4

1 回答 1

1

要扩展 Lucas 上面的第一条评论,您可以尝试使用 SimpleXML 将两个 XML 文件读入内存,即“反序列化”。将 XML 读入内存对象的示例代码如下所示:

Serializer serializer = new Persister();
File source = new File("example.xml");

Example example = serializer.read(Example.class, source);

然后,一旦将这两个结果组合成第三个对象,您还可以使用 SimpleXML 将第三个对象写入文件,即“序列化”。

使用内存数据编写 XML 文件的示例代码:

Serializer serializer = new Persister();
Example example = new Example("Example message", 123);
File result = new File("example.xml");

serializer.write(example, result);

SimpleXML 有一个很好的教程,可以通过添加Maven 依赖项来导入。

花一点时间阅读本教程,它应该会让你朝着正确的方向前进。

于 2013-03-27T15:16:37.057 回答