国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實(shí)現(xiàn)兼容各瀏覽器解析XML文檔數(shù)據(jù)的方法

2019-11-20 12:22:51
字體:
供稿:網(wǎng)友

本文實(shí)例講述了JS實(shí)現(xiàn)兼容各瀏覽器解析XML文檔數(shù)據(jù)的方法。分享給大家供大家參考。具體分析如下:

網(wǎng)站上很多用JS解析XML文檔的資料或多或少都有點(diǎn)問題,

以下是自己總結(jié)的代碼,用來解析XML文檔,兼容各個(gè)瀏覽器。

parseXMLDOM.js代碼:

/*  * 純JS解析XML文檔(兼容各個(gè)瀏覽器)  */ 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 < bookObj.length; i++){       strHtml += bookObj[i].selectSingleNode("isbn").text;       strHtml += " ";       strHtml += bookObj[i].selectSingleNode("price").text;       strHtml += " ";       strHtml += bookObj[i].selectSingleNode("title").text;       if(i != bookObj.length - 1){        strHtml += "<br>";       }      }     }    }else{     var book = xmlDom.getElementsByTagName("book");     var strHtml="";     for(var i = 0;i < book.length;i++){      strHtml += book[i].getElementsByTagName("isbn")[0].textContent;     strHtml += " ";      strHtml += " ";      strHtml += book[i].getElementsByTagName("price")[0].textContent;     strHtml += " ";      strHtml += book[i].getElementsByTagName("title")[0].textContent;      if(i != book.length - 1){       strHtml += "<br>";      }     }    }    document.getElementById("msg").innerHTML = strHtml;   }  } } window.onload = function(){  var parseObj = new parseXMLDOM();  //設(shè)置瀏覽器類型  parseObj.setBrowserType(parseObj.getBrowserType());  //設(shè)置文件路徑  parseObj.setXmlFile("test.xml");  //創(chuàng)建XMLDOM  parseObj.setXmlDom(parseObj.createXmlDom(null));  //解析XMLDOM  parseObj.parseXMLDOMInfo(); }

index.html代碼:

<!DOCTYPE html> <html>  <head>   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   <title>JS解析XML文檔中的數(shù)據(jù)(兼容所有瀏覽器)</title>   <script language="javascript" type="text/javascript" src="js/parseXMLDOM.js"></script>  </head>  <body>   <span id="msg"></span>  </body> </html>

test.xml代碼:

<?xml version="1.0" encoding="UTF-8"?> <books>  <book>   <isbn>2207-1258-123</isbn>   <price>25</price>   <title>Javascript</title>  </book>  <book>   <isbn>2207-1258-456</isbn>   <price>50</price>   <title>Ajax</title>  </book>  <book>   <isbn>2207-1258-789</isbn>   <price>75</price>   <title>C#</title>  </book> </books>

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛扎县| 常州市| 汉沽区| 绥芬河市| 湖南省| 宿松县| 航空| 如皋市| 聂拉木县| 许昌市| 杂多县| 奉化市| 石门县| 全州县| 南江县| 红河县| 永善县| 礼泉县| 犍为县| 泸州市| 龙州县| 菏泽市| 沙田区| 合肥市| 萨迦县| 密云县| 赤水市| 缙云县| 濮阳县| 叙永县| 泸水县| 塘沽区| 东乡| 张家口市| 石门县| 洪泽县| 闻喜县| 宜兰市| 乐山市| 盱眙县| 上林县|