zoukankan      html  css  js  c++  java
  • JavaScript 【跨浏览器处理XML,做个兼容】

    //兼容方法
            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> <user>CPU123</user> </root>";xml加载字符串


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


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

  • 相关阅读:
    NET与J2EE比拼
    NET与J2EE比拼
    Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录
    PS去除图片中文字的方法详细图文教程
    VC下绘图程序Demo
    U盘(auto病毒)类病毒分析与解决方案
    数据库技术源代码
    多边形填充实验
    错误总结1,动态加载部分不能显示的原因
    android实现开机欢迎界面
  • 原文地址:https://www.cnblogs.com/cpugege/p/3427573.html
Copyright © 2011-2022 走看看