JS实现兼容各浏览器解析XML文档数据的方法_javascript技巧
程序员文章站
2022-03-22 20:44:28
...
本文实例讲述了JS实现兼容各浏览器解析XML文档数据的方法。分享给大家供大家参考。具体分析如下:
网站上很多用JS解析XML文档的资料或多或少都有点问题,
以下是自己总结的代码,用来解析XML文档,兼容各个浏览器。
parseXMLDOM.js代码:
/* * 纯JS解析XML文档(兼容各个浏览器) */ function parseXMLDOM(){ var _browserType = ""; var _xmlFile = ""; var _XmlDom = null; return { "getBrowserType" : function(){ return _browserType; }, "setBrowserType" : function(browserType){ _browserType = browserType; }, "getXmlFile" : function(){ return _xmlFile; }, "setXmlFile" : function(xmlFile){ _xmlFile = xmlFile; }, "getXmlDom" : function(){ return _XmlDom; }, "setXmlDom" : function(XmlDom){ _XmlDom = XmlDom; }, "getBrowserType" : function(){ var browserType = ""; if(navigator.userAgent.indexOf("MSIE") != -1){ browserType = "IE"; }else if(navigator.userAgent.indexOf("Chrome") != -1){ browserType = "Chrome"; }else if(navigator.userAgent.indexOf("Firefox") != -1){ browserType = "Firefox" } return browserType; }, "createXmlDom" : function(xmlDom){ if(this.getBrowserType() == "IE"){//IE浏览器 xmlDom = new ActiveXObject('Microsoft.XMLDOM'); xmlDom.async = false; xmlDom.load(this.getXmlFile()); }else{ var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", this.getXmlFile(), false); xmlhttp.send(null); xmlDom = xmlhttp.responseXML; } return xmlDom; }, "parseXMLDOMInfo" : function(){ var xmlDom = this.getXmlDom(); if(this.getBrowserType() == "IE"){ var bookObj = xmlDom.selectNodes("books/book"); if(typeof(bookObj) != "undifined"){ var strHtml=""; for(var i = 0; i "; } } } }else{ var book = xmlDom.getElementsByTagName("book"); var strHtml=""; for(var i = 0;i "; } } } document.getElementById("msg").innerHTML = strHtml; } } } window.onload = function(){ var parseObj = new parseXMLDOM(); //设置浏览器类型 parseObj.setBrowserType(parseObj.getBrowserType()); //设置文件路径 parseObj.setXmlFile("test.xml"); //创建XMLDOM parseObj.setXmlDom(parseObj.createXmlDom(null)); //解析XMLDOM parseObj.parseXMLDOMInfo(); }
index.html代码:
JS解析XML文档中的数据(兼容所有浏览器)
test.xml代码:
2207-1258-123 25 Javascript 2207-1258-456 50 Ajax 2207-1258-789 75 C#
希望本文所述对大家的javascript程序设计有所帮助。
上一篇: domain属性怎么使用
下一篇: js实现显示时间日期实例
推荐阅读
-
各浏览器对document.getElementById等方法的实现差异解析_javascript技巧
-
各浏览器对document.getElementById等方法的实现差异解析_javascript技巧
-
用js实现终止浏览器对页面HTML的继续解析即停止解析 兼容firefox_javascript技巧
-
JS解析json数据并将json字符串转化为数组的实现方法_javascript技巧
-
用js实现终止浏览器对页面HTML的继续解析即停止解析 兼容firefox_javascript技巧
-
js跨浏览器实现将字符串转化为xml对象的方法_javascript技巧
-
javascript实现客户端兼容各浏览器创建csv并下载的方法_javascript技巧
-
js跨浏览器实现将字符串转化为xml对象的方法_javascript技巧
-
javascript实现客户端兼容各浏览器创建csv并下载的方法_javascript技巧
-
JS实现兼容各浏览器解析XML文档数据的方法_javascript技巧