JS加载&解析XML文件,浏览器兼容

Posted pkyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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一至,这里不能改为False;
            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>

 

以上是关于JS加载&解析XML文件,浏览器兼容的主要内容,如果未能解决你的问题,请参考以下文章

百度地图一片空白,无法加载,怎么办

为啥javascript加载xml文件,在Chrome下不成功

script标签的async属性是用来异步加载,异步加载的作用是否同时下载,执行html代码和js代码

script标签的async属性是用来异步加载,异步加载的作用是否同时下载,执行html代码和js代码

RequireJS简单介绍即使用

XML处理技术