程序员

怎样才能用js生成xmldom对象,并且在firefox中也实现xml数据岛?

作者:admin 2021-04-12 我要评论

一般来说,xml文件都是从外部载入的,那么我们如何只用js生成xml对象呢?下面的程序实现了这一点,只需要输入字符串形式的xml数据,就可以转换为xml对象,并且兼...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
一般来说,xml文件都是从外部载入的,那么我们如何只用js生成xml对象呢?下面的程序实现了这一点,只需要输入字符串形式的xml数据,就可以转换为xml对象,并且兼容firefox。

  用这种方法,我们也可以在firefox中实现xml数据岛,即用xmp标签来装载xml字符串,然后调用createXml函数来生成xml。
    由于firefox中不支持节点的.xml属性,所以需要给它添加该属性,使之与IE一致

复制代码 代码如下:

<body>
<xmp id=x1>
    <root>
        <node>test</node>
    </root>
</xmp>
</body>
<script>
if(!document.all)
    XMLDocument.prototype.__defineGetter__("xml",function(){return new XMLSerializer().serializeToString(this)})

function createXml(str){
    if(document.all){
        var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
        xmlDom.loadXML(str)
        return xmlDom
    }
    else
        return new DOMParser().parseFromString(str, "text/xml")
}
xml=createXml(document.getElementById("x1").innerHTML)
alert(xml.xml)
</script>

本文转载自网络,原文链接:https://m.jb51.net/article/5437.htm

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库