дублировать объекты XML XML в jquery - PullRequest
1 голос
/ 17 октября 2011

Я хочу скопировать / клонировать 2 объекта xml dom - один в другой.

Извините, если это дублирующий вопрос ... Я уже попробовал Какой самый эффективный способ глубокого клонированияобъект в JavaScript?

Но JQuery выбрасывает незаконный вызов

РЕДАКТИРОВАТЬ: XML приходит из вызова AJAX

function FetchXMLData() {
                $.ajax({
                    url : "resources/data.xml",
                    data : requestVars,
                    dataType : 'xml',
                    success : function(xml) {
                        XMLParser(xml);
                        xmlOrig = $(xml).clone(); // I want to do something like this
                    },
                    error : function(xhr, err) {
                        ShowErrors(xhr, err);
                    }
                });
            }

РЕДАКТИРОВАНИЕ 2: Теперь я использую javascript cloneNode, который отлично работает в IE и FF, но не работает в Chrome.Смотрите это .Если кто-нибудь знает обходной путь, я был бы признателен.

1 Ответ

1 голос
/ 28 октября 2016

Я знаю, что это старый вопрос, но у меня была такая же проблема, и я решил ее, преобразовав ее в текст и снова в XML.

Имея:

(...)
success : function(xml) {
    XMLParser(xml);
    xmlOrig = cloneXML(xml);
},
(...)

// auxiliar function to clone XML
function cloneXML(xml) {
    var xml_text = (new XMLSerializer()).serializeToString(xml);
    return $.parseXML(xml_text); // return XML document
}

Этот обходной путь работал для меня в Firefox 49.0.2 и Chrome 54.0.2840.71.

Если кто-нибудь знает лучший способ, пожалуйста, ответьте.

...