//兼容方法
        function getXMLDOM(xmlStr) {
            var xmlDom = null;
            if (typeof window.DOMParser != "undefined") {
                xmlDom = (new DOMParser).parseFromString(xmlStr, "text/xml");
                var errors = xmlDom.getElementsByTagName("parsererror");
                if (errors.length > 0) {
                    throw new Error("DOM2模型错误信息" + errors[0].textContent);
                }

}

else if (typeof window.ActiveXObject != "undefined") {
                var version = ['MSXML2.DOMDocument.6.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument'];
                for (var i = 0; i < version.length; i++)  {
                    try {
                        var xmlDom = new ActiveXObject(version[i]);

}

catch (e) {
                        //跳过
                                  }
                                                                       }
                //放在循环外面才能报错
                xmlDom.loadXML(xmlStr); //载入字符串
                //xml序列报错
                if (xmlDom.parseError != 0) {
                    throw new Error("错误信息" + xmlDom.parseError.reason);
                    return xmlDom;
                                                         }

}

else { throw new Error('您的系统或浏览器不支持XML DOM对象!'); }

return xmlDom;

}

//序列化
        function serializerXML(xmlDom) {
            var xml = "";
            if (typeof window.XMLSerializer != "undefined") {
                xml = (new XMLSerializer()).serializeToString(xmlDom);
            }
            else if (typeof xmlDom.xml != "undefined") {
                xml = xmlDom.xml;

}
            return xml;
        }

var xmlStr = "<root>\n<user>CPU123</user>\n</root>";xml加载字符串

var xmlDom = getXMLDOM(xmlStr);//调用兼容方法得到一个xml DOM对象

alert(serializerXML(xmlDom));//调用XML序列化
    
    为了跨越所有浏览器兼容,外面放弃了从外部加载XML文件,而使用了字符
    串XML加载和序列化

JavaScript 【跨浏览器处理XML,做个兼容】的更多相关文章

  1. javascript跨浏览器操作xml

    //跨浏览器获取xmlDom function getXMLDOM(xmlStr) { var xmlDom = null; if (typeof window.DOMParser != 'undef ...

  2. JavaScript 【跨浏览器XPath,做个兼容】

    IE的Xpath 获取单一节点 var xmlDom = getXMLDOM(xmlStr);//调用之前写好的方法获得XMLDOM对象 // var node = xmlDom.selectSing ...

  3. 跨浏览器读取XML

    这里跨浏览器,但是只能读取字符串XML文档,可以通过Ajax方式load一个XML文档,将文件XML转变为字符串 // 跨浏览器返回XML DOM对象 function getXMLDOM(xmlSt ...

  4. JavaScript跨浏览器绑定事件函数的优化

    JavaScript作为一门基于事件驱动的语言(特别是用在DOM操作的时候),我们常常需要为DOM绑定各种各样的事件.然而,由于低版本的IE的不给力,在绑定事件和移除事件监听上都与众不同,我们常常需要 ...

  5. JavaScript跨浏览器处理事件以及相关对象

    主流的浏览器和IE浏览器在处理事件和事件对象上是有所区别的,我们一般会通过EventUtil进行封装,这样,就可以正常的跨浏览器处理事件了,本文的主要内容总结自<JavaScript高级程序设计 ...

  6. javascript跨浏览器事件对象类库

    一.前言 学习了javascript事件后,个人总结归纳了跨浏览器事件对象类库,方便以后使用,现分享给大家. 二.事件对象封装 将对浏览器事件对象的操作封装成eventObject.js方便调用 // ...

  7. Javascript跨浏览器的事件对象

    一.跨浏览器的事件对象 var EventUtil = { ///添加事件 addHandler: function (element, type, handler) { if (element.ad ...

  8. 封装常用的Javascript跨浏览器方法

    var EventUntil={ // 跨浏览器的添加事件方法 addHandler:function(element,type,handler){ if(element.addEventListen ...

  9. javascript 跨浏览器事件处理

    <div id="myDiv" style="width:100px; height:100px; border:1px solid #f00;"> ...

随机推荐

  1. Primes on Interval(二分 + 素数打表)

    Primes on Interval Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u ...

  2. ubuntu下安装xlrd模块,Mysqldb模块

    Python中安装xlrd模块 1.从 https://pypi.python.org/pypi/xlrd  下载压缩包 2.解压所下载的压缩包 3.CD到解压文件夹,运行 sudo python s ...

  3. Oracle SQL函数之字符串函数

    1.SQL> ) from dual; --ASCLL(x)返回x的ASCLL码,CHR(x)返回ASCLL码为x的字符 ASCII() ---------- ---------- ------ ...

  4. 【取对数+科学计数法】【HDU1060】 N^N

    Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...

  5. javaSE读取Properties文件的六种方法

    使用JavaSEAPI读取Properties文件的六种方法 1.使用java.util.Properties类的load()方法 示例:InputStreamin=lnewBufferedInput ...

  6. Mac ssh登陆linux并且显示linux图形

    背景: Mac 通过[终端]ssh登陆linux并且在Mac显示linux图形 Mac 主机IP: 10.2.1.1 linux 主机IP: 192.168.1.1 说明: 想要ssh访问并且显示li ...

  7. Python第一天-----简单登录验证

    ----------------------------------------- 编写登录接口 要求:1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 -------------- ...

  8. 在Win8上安装pyinstaller打包python成为可执行文件

    首先我使用的电脑系统是: Windows-8-6.2.9200 Python的版本是: 2.7.8 默认已安装python2.7且设置好了环境变量. 仅为个人记录,非教程. 首先先安装pip: 首先先 ...

  9. SQL Server 查看表定义的 2 种方法

    方法 1. 用SQL Server Management Studio 第一步找到要查看的表,右键 第二步点设计 方法 2. sp_help @objname = 'tableName' execut ...

  10. Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql

    select       distinct b.lvl                                                      层次, b.OPERATION_SEQ ...