如何使用JavaScript以跨浏览器方式将DOM序列化为XML文本?

Eer*_*ero 25 javascript xml serialization dom

我有一个XML对象(使用XMLHTTPRequest's 加载responseXML).我修改了对象(使用jQuery)并希望将其作为文本存储在字符串中.

Firefox等人显然有一种简单的方法:

var xmlString = new XMLSerializer().serializeToString( doc );
Run Code Online (Sandbox Code Playgroud)

(来自rosettacode)

但是如何在IE6和其他浏览器中做到这一点(当然,没有破坏Firefox)?

Hup*_*pie 35

您可以在Internet exlporer中使用doc.xml.

你会得到这样的东西:

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;
}
Run Code Online (Sandbox Code Playgroud)

在这里找到它.