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

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

How do I serialize a DOM to XML text, using JavaScript, in a cross browser way?

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

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

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

(来自rosettacode)

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


您可以在Internet Explorer中使用doc.xml。 您将获得如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}

在这里找到它。


推荐阅读