2012-03-14 51 views
7

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

我试着做

var newDocument = myDocument.cloneNode(true); 

但刚刚返回。我也算是做

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

但这是不够的,我的目的,因为这样的新节点之前具有相同的ownerDocument

回答

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); 
+0

只是为了更加完善,你怎么了' newDocument'? – hugomg 2012-03-14 22:30:58

+0

我更新了代码。 – matthewk 2012-03-14 22:42:28