2012-03-14 8 views
7

¿Cuál es la mejor manera de clonar un documento XML en Javascript?¿Cómo puedo clonar un documento XML, en Javascript?

He intentado hacer

var newDocument = myDocument.cloneNode(true); 

pero que acabamos de volver nula. También consideré hacer

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

pero eso no es suficiente para mis propósitos, ya que de esta manera el nuevo nodo tiene la misma ownerDocument como antes.

Respuesta

5

Usted puede hacer algo como lo siguiente para clonar un documento 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

Sólo para ser más completa, ¿cómo se consigue el ' newDocument'? – hugomg

+0

He actualizado el código. – matthewk

Cuestiones relacionadas