如何在Javascript中克隆XML文档?

hug*_*omg 7 javascript xml dom

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

我试过了

var newDocument = myDocument.cloneNode(true);
Run Code Online (Sandbox Code Playgroud)

但那只是返回null.我也考虑过这样做

var newNode = myDocument.documentElement.cloneNode(true);
Run Code Online (Sandbox Code Playgroud)

但这对我的目的来说还不够,因为这样新节点ownerDocument和以前一样.

mat*_*ewk 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);
Run Code Online (Sandbox Code Playgroud)