美文网首页
js加载解析XML文件

js加载解析XML文件

作者: 冷若霜寒 | 来源:发表于2018-06-14 15:10 被阅读0次

                // 加载xml文档
                var loadXML = function (xmlFile) {
                    var xmlDoc;
                    if (window.ActiveXObject) {
                        xmlDoc = new ActiveXObject('Microsoft.XMLDOM');//IE浏览器
                        xmlDoc.async = false;
                        xmlDoc.load(xmlFile);
                    }
                    else if (navigator.userAgent.indexOf("Firefox")>0) { //火狐浏览器
                        //else if (document.implementation && document.implementation.createDocument) {//这里主要是对谷歌浏览器进行处理
                        xmlDoc = document.implementation.createDocument('', '', null);
                        xmlDoc.load(xmlFile);
                    }
                    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对象进行判断
                var  checkXMLDocObj = function (xmlFile) {
                    var xmlDoc = loadXML(xmlFile);
                    if (xmlDoc == null) {
                        alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
                        window.location.href = '../err.html';

                    }
                    return xmlDoc;
                }
                var xmlDoc = checkXMLDocObj('/static/location/LocList.xml');//读取到xml文件中的数据

 //JS读取 XML 文件中的 area 节点的方式如下:
                var nodeList= xmlDoc.documentElement.getElementsByTagName("area"); // IE
                for(var i=0;i<nodeList.length;i++){
                  //...遍历操作...
                }
                var nodeList=xmlDoc.getElementsByTagName("area"); // 非IE
                for(var i=0;i<nodeList.length;i++){
                //...遍历操作...
              }

相关文章

网友评论

      本文标题:js加载解析XML文件

      本文链接:https://www.haomeiwen.com/subject/tqsyeftx.html