最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年06月01日 12:15:38   作者:天使小寶  
這篇文章主要介紹了JS實(shí)現(xiàn)兼容各瀏覽器解析XML文檔數(shù)據(jù)的方法,涉及javascript對(duì)XML文件的解析技巧,并根據(jù)各瀏覽器進(jìn)行了相關(guān)調(diào)整,具有良好的兼容性,需要的朋友可以參考下

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

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

以下是自己總結(jié)的代碼,用來(lái)解析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ì)有所幫助。

相關(guān)文章

  • webpack之引入圖片的實(shí)現(xiàn)及問題

    webpack之引入圖片的實(shí)現(xiàn)及問題

    如果我們希望在頁(yè)面引入圖片。當(dāng)我們基于webpack進(jìn)行開發(fā)時(shí),引入圖片會(huì)遇到一些問題,這篇文章主要介紹了webpack之引入圖片的實(shí)現(xiàn)及問題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10
  • 淺談JavaScript 瀏覽器對(duì)象

    淺談JavaScript 瀏覽器對(duì)象

    下面小編就為大家?guī)?lái)一篇淺談JavaScript 瀏覽器對(duì)象。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • JavaScript簡(jiǎn)單獲取頁(yè)面圖片原始尺寸的方法

    JavaScript簡(jiǎn)單獲取頁(yè)面圖片原始尺寸的方法

    這篇文章主要介紹了JavaScript簡(jiǎn)單獲取頁(yè)面圖片原始尺寸的方法,可通過(guò)Image()對(duì)象直接獲取圖片的原始寬高,簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-06-06
  • JS中給數(shù)組去重的方法小結(jié)

    JS中給數(shù)組去重的方法小結(jié)

    給一個(gè)存放數(shù)字或字符串的數(shù)組去重很簡(jiǎn)單,那么現(xiàn)在問題升級(jí),如何一個(gè)數(shù)組a里面存放的元素是若干個(gè)數(shù)組,那么如何給這個(gè)數(shù)組a去重?本文給大家介紹了JS中給數(shù)組去重的方法小結(jié),需要的朋友可以參考下
    2024-08-08
  • 淺談幾種常用的JS類定義方法

    淺談幾種常用的JS類定義方法

    下面小編就為大家?guī)?lái)一篇淺談幾種常用的JS類定義方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • 火狐textarea輸入法的bug的觸發(fā)及解決

    火狐textarea輸入法的bug的觸發(fā)及解決

    在firefox中,如果一個(gè)textarea獲取焦點(diǎn),在輸入法激活的狀態(tài)如果這時(shí)js將該textarea的value修改,那么該textarea會(huì)直接被清空,下面是具體的解決方法,遇到類似問題的朋友可以參考下
    2013-07-07
  • JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例

    JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例

    這篇文章主要為大家介紹了JavaScript?error瀏覽器端錯(cuò)誤捕獲處理方法筆記解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Bootstrap使用基礎(chǔ)教程詳解

    Bootstrap使用基礎(chǔ)教程詳解

    Bootstrap ——來(lái)自Twitter的流行前端框架。接下來(lái)通過(guò)本文給大家介紹bootstrap入門基礎(chǔ)腳本,包括bootstrap特征及使用方面的知識(shí)點(diǎn),感興趣的朋友一起看看吧
    2016-09-09
  • Webpack的dll功能使用

    Webpack的dll功能使用

    這篇文章主要介紹了Webpack的dll功能使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • js正則表達(dá)式的使用詳解

    js正則表達(dá)式的使用詳解

    本篇文章是對(duì)js中正則表達(dá)式的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07

最新評(píng)論

尉犁县| 河源市| 泸定县| 沁源县| 东至县| 新丰县| 泸溪县| 文登市| 卫辉市| 出国| 方山县| 拜泉县| 玛沁县| 榆社县| 永年县| 武功县| 博罗县| 乐山市| 杨浦区| 什邡市| 会泽县| 古交市| 休宁县| 阳原县| 儋州市| 玉龙| 开封县| 绥滨县| 永善县| 威海市| 岚皋县| 肥乡县| 章丘市| 凤庆县| 顺义区| 东光县| 皋兰县| 体育| 社旗县| 云和县| 凌海市|