Как создать IXMLDOMDocument2 или иным образом добавить один из его элементов IXMLDOME в [Object, Document]? - PullRequest
1 голос
/ 23 ноября 2011

Я получаю HIERARCHY_REQUEST_ERR (3) в IE9, только когда пытаюсь добавить элемент из одного документа в другой. Я создаю свой документ следующим образом:

var xmlDoc = document.implementation.createDocument("","root",null);

и пытаюсь добавить к нему следующее:

$(otherDoc).find("selector_for_nodes_I_want").each(function(){
    $(xmlDoc).find("root").append($(this).remove());
});

С Firefox и Chrome все в порядке, но IE9 это не нравится. Идея состоит в том, что xmlDoc - это фильтрованная версия otherDoc, которую я буду хранить в виде строки в sessionStorage. Я надеюсь сохранить XMLHTTPRequests таким образом. Я не слишком заинтересован в возможности сначала конвертировать otherDoc в строку, а затем конвертировать обратно через $ .parseXML (). Я надеюсь на лучший вариант, или, если я думаю об этом все неправильно, я бы тоже услышал этот аргумент. Спасибо.

Вместо ответа для ФП, есть кто-нибудь с приличным объяснением того, почему необходимо использовать domParser() или $.parseXML(jqXHR.responseText), когда заголовок ответа равен xml уже: Content-Type:text/xml; charset=utf-8. Почему IE9 предполагает, что я хочу использовать эту нелепую IXMLDOMDocument2 реализацию для анализа моего ответа?

...