[英]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.