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

时间:2020-03-05 18:47:31  来源:igfitidea点击:

我有一个XML对象(使用XMLHTTPRequest的responseXML加载)。我已经修改了该对象(使用jQuery),并希望将其存储为字符串中的文本。

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

var xmlString = new XMLSerializer().serializeToString( doc );

(来自rosettacode)

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

解决方案

回答

我们可以在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;
}

在这里找到它。