JS加載&解析XML文件,瀏覽器兼容
阿新 • • 發佈:2018-01-03
enc dom eat min test ldo dex new eval
# 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); } //chromeelse { 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文件,瀏覽器兼容