如何使用JavaScript以跨浏览器方式将DOM序列化为XML文本? [英] How do I serialize a DOM to XML text, using JavaScript, in a cross browser way?

查看:70
本文介绍了如何使用JavaScript以跨浏览器方式将DOM序列化为XML文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



在Firefox等中显然有一个简单的方法:

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

(来自 rosettacode



但是,如何在IE6和其他浏览器(不用打破Firefox)?

解决方案

您可以在internet exlporer中使用doc.xml。 / p>

你会得到这样的东西:

  function xml2Str(xmlNode ){
try {
//基于Gecko和Webkit的浏览器(Firefox,Chrome),Opera。
return(new XMLSerializer())。serializeToString(xmlNode);
}
catch(e){
try {
// Internet Explorer。
return xmlNode.xml;
}
catch(e){
//其他没有XML Serializer的浏览器
alert('Xmlserializer not supported');
}
}
return false;
}

找到它这里


I have an XML object (loaded using XMLHTTPRequest's responseXML). I have modified the object (using jQuery) and would like to store it as text in a string.

There is apparently a simple way to do it in Firefox et al:

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

(from rosettacode )

But how does one do it in IE6 and other browsers (without, of course, breaking Firefox)?

解决方案

You can use doc.xml in internet exlporer.

You'll get something like this:

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;
}

Found it here.

这篇关于如何使用JavaScript以跨浏览器方式将DOM序列化为XML文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆