2012-03-14 11 views
7

Jaki jest najlepszy sposób sklonowania dokumentu XML w JavaScript?Jak sklonować dokument XML, w JavaScript?

Próbowałem robić

var newDocument = myDocument.cloneNode(true); 

ale że właśnie wrócił zerowej. Ja również rozważyć robi

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

ale to nie wystarczy do moich celów, ponieważ ten sposób nowy węzeł ma taką samą ownerDocument jak poprzednio.

Odpowiedz

5

można zrobić coś takiego do klonowania dokumentu 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

Wystarczy być bardziej kompletne, jak można dostać ' newDocument'? – hugomg

+0

Zaktualizowałem kod. – matthewk