Como faço para serializar um DOM de texto XML, JavaScript, em um cross-browser forma?
-
09-06-2019 - |
Pergunta
Eu tenho um objeto XML (carregado usando XMLHTTPRequest
's responseXML
).Eu modifiquei o objeto (jQuery) e deseja armazená-lo como texto em uma seqüência de caracteres.
Há, aparentemente, uma forma simples de fazer isso no Firefox et al:
var xmlString = new XMLSerializer().serializeToString( doc );
(a partir de rosettacode )
Mas como fazê-lo em IE6 e outros navegadores (sem, é claro, quebrando o Firefox)?
Solução
Você pode usar doc.xml na internet exlporer.
Você terá algo como isso:
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;
}
Achei aqui.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow