[英]Copying an XML node from a document to another document using Java DOM Parser
我一直在實現一種簡單的算法,該算法可以解析XML文件並根據node中的屬性值重新排序其節點。 我檢索所有節點,並將整個節點插入經過排序的ArrayList中。 然后,我創建了一個新的XML文檔,並創建了new和標簽,但是當我嘗試復制已排序的Node並將其附加到時,出現了一個異常,指出仍在另一個文檔中使用。 我在用
Node sortedCnode= cNode.cloneNode(false); //tried true as well
b.appendChild(sortedCnode);
我認為我的代碼試圖將整個事實都追加。 但是,我不知道正確的方法
XML如下所示
<A>
<B>
<C>
<D>
</D>
<E>
</E>
</C>
</B>
</A>
我想到了
將節點從源DOM復制到目標DOM的方法如下
targetBNode.appendChild(targetDOC.adoptNode(sourceCnode.cloneNode(true)));
可以從Jherico獲得更完整的答案: 如何在Java中將DOM節點從一個文檔復制到另一個文檔 。
總而言之,您需要:
Jherico提供了兩種方法,一種使用cloneNode()和采用Node(),與接受的答案相同。 但是,存在通過在Document上使用importNode()來執行兩種操作的快捷方法。
targetBNode.appendChild(targetDOC.importNode(sourceCnode, true));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.