0

我整天都在研究这个问题,但找不到解决方案!

我想读一个xml

<test>
    <data></data>
</test>

并编辑某些数据值,我可以做到并很好地保存。

但是我想在再次更改值之前获取这些更改的值并将它们添加到新文档中。所以我最终得到了一个新文件

<test>
    <data></data>
</test>
<test>
    <data></data>
</test>

我可以使用此代码创建节点的 ArrayList

TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer tx   = tfactory.newTransformer();
DOMSource source = new DOMSource(testDoc);
DOMResult output = new DOMResult();
tx.transform(source,output);
nodes.add(output.getNode());

所以我现在有一个节点的 ArrayList,每个节点都有从模板编辑的唯一数据,但我似乎无法将它们写到新的空白文档中。这就是我目前拥有的

for (Node n:nodes){
    Element root = templateDoc.getDocumentElement();
    Node copyNode = templateDoc.importNode(n, true);
    root.appendChild(copyNode);
}

试图写出到 templateDoc

希望有人能帮忙!

4

1 回答 1

0

一个有效的 XML 文档可能只有一个根元素。如果<test>是根元素,则根中不能有两个<test>元素。你需要这样的东西:

<tests>
 <test>
  <data>...</data>
 </test>
 <test>
  <data>...</data>
 </test>
</tests>
于 2012-11-29T17:15:17.600 回答