gpt4 book ai didi

java - 如何将节点从 xml 文档附加到现有的 xml 文档

转载 作者:数据小太阳 更新时间:2023-10-29 02:04:11 25 4
gpt4 key购买 nike

我的 a.xml 中有锦标赛列表:

<tournaments>

<tournament>
<name>a</name>
</tournament>

<tournament>
<name>b</name>
</tournament>

<tournament>
<name>c</name>
</tournament>

</tournaments>

ad 然后我在 b.xml 中有一个锦标赛

<tournament>
<name>d</name>
</tournament>

如何将文件 b.xml 附加到 a.xml 作为另一个锦标赛?

这就是我想要的:

<tournaments>

<tournament>
<name>a</name>
</tournament>

<tournament>
<name>b</name>
</tournament>

<tournament>
<name>c</name>
</tournament>

<tournament>
<name>d</name>
</tournament>

</tournaments>

最佳答案

  1. 获取Node从第一个开始添加 Document ;
  2. 采用Node (参见 Document.adopt(Node) )从第一个 Document到第二个Document ;
  3. 收养 Node小时候到第二Document结构(参见 Node.appendChild(Node)

更新。代码:

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();

Document tournament = builder.parse(new File("b.xml"));
Document tournaments = builder.parse(new File("a.xml"));

Node tournamentElement = tournament.getFirstChild();
Node ndetournament = tournaments.getDocumentElement();
Node firstDocImportedNode = tournaments.adoptNode(tournamentElement);
ndetournament.appendChild(firstDocImportedNode);

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(new DOMSource(tournaments), new StreamResult(System.out));

结果:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<tournaments>
<tournament>
<name>a</name>
</tournament>

<tournament>
<name>b</name>
</tournament>

<tournament>
<name>c</name>
</tournament>
<tournament>
<name>d</name>
</tournament>
</tournaments>

关于java - 如何将节点从 xml 文档附加到现有的 xml 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7964357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com