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>
  • 相关阅读:
    thinkphp 事物回滚
    文字超出部分以省略号隐藏
    js倒计时
    js 日期转为时间戳
    jquery 获取url地址参数
    spreadjs 自定义菜单事件
    spreadjs 点击事件
    spreadjs 自定义上传文件单元格
    spreadjs 小记
    Json数组排序
  • 原文地址:https://www.cnblogs.com/pangkang/p/8184407.html
Copyright © 2011-2022 走看看