Как мне сериализовать DOM в XML-текст, используя JavaScript, кроссбраузерным способом?

StackOverflow https://stackoverflow.com/questions/43455

Вопрос

У меня есть 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;
}

Нашел это здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top