如何在Javascript中克隆XML文档?

时间:2012-03-14 22:08:25

标签: javascript xml dom

在Javascript中克隆XML文档的最佳方法是什么?

我试过

var newDocument = myDocument.cloneNode(true);

但刚刚返回 null 。我也考虑过做

var newNode = myDocument.documentElement.cloneNode(true);

但这对我的目的来说还不够,因为这样新节点与之前的ownerDocument相同。

1 个答案:

答案 0 :(得分:5)

您可以执行以下操作来克隆XML文档:

var newDocument = oldDocument.implementation.createDocument(
    oldDocument.namespaceURI, //namespace to use
    null,                     //name of the root element (or for empty document)
    null                      //doctype (null for XML)
);
var newNode = newDocument.importNode(
    oldDocument.documentElement, //node to import
    true                         //clone its descendants
);
newDocument.appendChild(newNode);