怎样才能用js生成xmldom对象,并且在firefox中也实现xml数据岛?
发布时间:2016-12-29 来源:查字典编辑
摘要:一般来说,xml文件都是从外部载入的,那么我们如何只用js生成xml对象呢?下面的程序实现了这一点,只需要输入字符串形式的xml数据,就可以...
一般来说,xml文件都是从外部载入的,那么我们如何只用js生成xml对象呢?下面的程序实现了这一点,只需要输入字符串形式的xml数据,就可以转换为xml对象,并且兼容firefox。
用这种方法,我们也可以在firefox中实现xml数据岛,即用xmp标签来装载xml字符串,然后调用createXml函数来生成xml。
由于firefox中不支持节点的.xml属性,所以需要给它添加该属性,使之与IE一致
复制代码 代码如下:
<body>
<xmpid=x1>
<root>
<node>test</node>
</root>
</xmp>
</body>
<script>
if(!document.all)
XMLDocument.prototype.__defineGetter__("xml",function(){returnnewXMLSerializer().serializeToString(this)})
functioncreateXml(str){
if(document.all){
varxmlDom=newActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
returnxmlDom
}
else
returnnewDOMParser().parseFromString(str,"text/xml")
}
xml=createXml(document.getElementById("x1").innerHTML)
alert(xml.xml)
</script>