如何在 Javascript 中克隆 XML 文档?

Posted

技术标签:

【中文标题】如何在 Javascript 中克隆 XML 文档?【英文标题】:How do I clone a XML document, in Javascript? 【发布时间】:2012-03-31 10:45:42 【问题描述】:

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

我试过了

var newDocument = myDocument.cloneNode(true);

但这只是返回 null。我也考虑过做

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

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

【问题讨论】:

【参考方案1】:

您可以执行以下操作来克隆 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);
createDocument 文档 importNode 文档

【讨论】:

为了更完整,你如何获得newDocument

以上是关于如何在 Javascript 中克隆 XML 文档?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中克隆对象数组?

如何在javascript中克隆图像

JavaScript DOM实战:创建和克隆元素

在 JavaScript 中将字符串转换为 XML 文档

如何使用 Javascript 将 HTML 页面中的 XML 显示为可折叠和可展开的树? [关闭]

在 JavaScript 中如何克隆对象?