2012-11-29 112 views
0

我一直在研究這一整天,無法找到解決方案!將xml節點複製到Java中的新文檔中

我想讀取XML

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

和編輯某些數據值,這是我能做到和保存很好。

但我想獲得這些更改的值,並將它們添加到新的文檔,然後再次更改值。所以,我結束了一個新文檔中

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

我可以使用此代碼

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,所以我現在有節點,每個具有從模板編輯的獨特數據的ArrayList ,但我似乎無法將它們寫入一個新的空白文檔。這是我所目前

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

嘗試寫出來,希望templateDoc

希望有人能幫助!

回答

0

有效的XML文檔只能有一個root element。如果<test>是根元素,則在根中不能有兩個<test>元素。你需要這樣的事情:

<tests> 
<test> 
    <data>...</data> 
</test> 
<test> 
    <data>...</data> 
</test> 
</tests> 
+0

ahh好的,我確實有另一個根元素,我需要導入,但我試圖讓這個工作第一,謝謝 – FredoAF

相關問題