zoukankan      html  css  js  c++  java
  • JS加载&解析XML文件,浏览器兼容

    #  JS加载XML,浏览器之间有差异,代码如下

        this.createXMLDom = function() {
            var xmldoc;
            var xmlFile = "XXXXXXXXX.xml";
            if (window.ActiveXObject) {
                xmldoc = new ActiveXObject("Microsoft.XMLDOM");
                xmldoc.async = false;
                //和FireFox一致,设为true;
                xmldoc.preserveWhiteSpace = true;
                xmldoc.load(xmlFile);
            }
                //firefox
            else if (navigator.userAgent.indexOf("Firefox") > 0) {
                xmldoc = document.implementation.createDocument("", "doc", null);
                xmldoc.async = false;
                xmldoc.load(xmlFile);
            }
                //chrome
            else {
                var xmlhttp = new window.XMLHttpRequest();
                xmlhttp.open("GET", xmlFile, false);
                xmlhttp.send(null);
                if (xmlhttp.readyState === 4) {
                    xmldoc = xmlhttp.responseXML.documentElement;
                }
               
            }
            return xmldoc;
        }

    # 解析XML

            //加载XML文件
            var xmlDom = _this.createXMLDom();
            var elements = xmlDom.getElementsByTagName("data");
            var data = "";
            for (var i = 0; i < elements.length; i++) {
                var name = elements[i].getElementsByTagName("name")[0].firstChild.nodeValue;
                var path = elements[i].getElementsByTagName("path")[0].firstChild.nodeValue;
                data += "mingcen:";
                data += name;
                data += " path:";
                data += path;
                data += " ";
            }
            alert(data);

    # 示例XML文件

    <?xml version="1.0" encoding="gb2312"?>
    <root>
      <data id="1">
        <name>formal</name>
        <path>XXXXXXXXXXXXX</path>
      </data>
      <data id="2">
        <name>test</name>
        <path>YYYYYYYYYYYYY</path>
      </data>
    </root>
  • 相关阅读:
    26、面向对象设计模式之单例模式——泛型单例
    Unity 汽车碰撞
    makeObjectsPerformSelector对数组中的对象发送消息执行对象中方法
    NSHashTable NSPointerArray
    webrtc 音频一点相关知识
    记一次ios加急上架经历
    iOS 获取当前正在显示的ViewController
    ios表单上传图片或文件
    https适配
    swift block
  • 原文地址:https://www.cnblogs.com/pangkang/p/8184407.html
Copyright © 2011-2022 走看看