Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript以跨浏览器的方式将DOM序列化为XML文本?_Javascript_Xml_Dom_Serialization - Fatal编程技术网

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

如何使用JavaScript以跨浏览器的方式将DOM序列化为XML文本?,javascript,xml,dom,serialization,Javascript,Xml,Dom,Serialization,我有一个XML对象(使用XMLHTTPRequest的responseXML加载)。我已经修改了对象(使用jQuery),并希望将其存储为字符串中的文本 在Firefox等人中,显然有一种简单的方法可以做到这一点: var xmlString = new XMLSerializer().serializeToString( doc ); (来自) 但是如何在IE6和其他浏览器中做到这一点呢(当然不破坏Firefox)?你可以在InternetExlporer中使用doc.xml 你会得到这样的

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

在Firefox等人中,显然有一种简单的方法可以做到这一点:

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


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

你可以在InternetExlporer中使用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;
}

找到了。

谢谢。。。经过两天的搜索,我终于找到了这个。(我花了一段时间才意识到.xml根本不适用于FF/Chrome,我以为我做错了什么。)Webkit目前有一个bug(例如在Chrome 19中),并且不会返回正确的xml:xmlNode=document.createElement('img');xmlNode.src=“test.png”xmlNode.alt=“test”(新的XMLSerializer()).serializeToString(xmlNode);返回:“@cburgmer,它不是xmlnode@Esailija我不明白,那是什么?我希望XMLSerializer将xmlNode序列化为@cburgmer(注意后面的斜线)。这是一个html节点,您使用html文档创建了它。XML节点没有像
.src
这样的属性。使用:
console.dir(document.implementation.createDocument(null,“xml”,null.createElement(“img”))查看实际xml元素的内容。