Как мне сериализовать DOM в XML-текст, используя JavaScript, кроссбраузерным способом?
-
09-06-2019 - |
Вопрос
У меня есть XML-объект (загруженный с помощью XMLHTTPRequest
's responseXML
).Я изменил объект (используя jQuery) и хотел бы сохранить его в виде текста в строке.
По-видимому, есть простой способ сделать это в Firefox и др.:
var xmlString = new XMLSerializer().serializeToString( doc );
(из розеттакод )
Но как это сделать в IE6 и другие браузеры (без, конечно, взлома Firefox)?
Решение
Вы можете использовать doc.xml в Internet explorer.
У вас получится что-то вроде этого:
function xml2Str(xmlNode) {
try {
// Gecko- and Webkit-based browsers (Firefox, Chrome), Opera.
return (new XMLSerializer()).serializeToString(xmlNode);
}
catch (e) {
try {
// Internet Explorer.
return xmlNode.xml;
}
catch (e) {
//Other browsers without XML Serializer
alert('Xmlserializer not supported');
}
}
return false;
}
Нашел это здесь.
Не связан с StackOverflow