使用JS讀取XML(相容IE和firefox)
這次準備使用JS來讀取XML做一個例子來熟悉下,一共使用了一下幾個技術:Json,array排序,讀取xml,下面我就貼出程式碼:
第一部:我們需要學習如何判斷瀏覽器的型別:
下面是幾個主流的瀏覽器使用js的判斷方法
function getOs()
{
var sObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}
}
通過以上方法,大家可以取出瀏覽器的型別,根據瀏覽器的不同型別,我們使用不同的方式來例項化物件:
下面就是我寫的所有程式碼,大家可以參考下:
function NewInfoAction()
{
var dom;
var type=1; //預設為IE瀏覽器
var data = new Array(); //儲存實體的陣列
if(navigator.userAgent.indexOf("MSIE")>0)
{
dom = new ActiveXObject("Microsoft.XMLDOM"); //例項化dom物件
/*
這個地方很多朋友不明白,我寫詳細點
設定非同步處理
本函式不需要在XML檔案讀取完成之前進行任何操作,
因此關閉非同步處理功能。
*/
dom.async = false;
dom.load("NewInfo.xml"); //載入xml檔案
window.alert('IE');
}
else if(isFirefox=navigator.userAgent.indexOf("Firefox") > 0)
{
type=2;
dom = document.implementation.createDocument("", "", null); //火狐不支援ActiveXObject
dom.async = false;
dom.load("NewInfo.xml");
/*
這是火狐的另外一中載入xml的方式
var XmlHttp = new XMLHttpRequest() ;
oXmlHttp.open( "GET", "test.xml", false ) ;
oXmlHttp.send(null) ;
//oXmlHttp.responseXML就是xml物件了。
*/
}
else
{
window.alert('暫不識別該瀏覽器!');
return;
}
if(dom)
{
var node;
if(type == 1) //判斷是否為IE瀏覽器
{
node = dom.documentElement.childNodes; //這裡的node大家可以理解為net中的表,方便大家理解
for(var i=0;i
var title = node[i].childNodes[0].text; //取出i行中的欄位的值,大家這樣理解更方便
var content = node[i].childNodes[1].text;
var date = node[i].childNodes[2].text;
data.push({title:title,content:content,date:date}); //在這裡,我們使用使用json,把資料庫儲存在裡面
}
}
else
{
var node = dom.getElementsByTagName("News");
for(var i=0;i
{
// window.alert(dom.getElementsByTagName("News")[i].childNodes[1].textContent);
// window.alert(dom.getElementsByTagName("News")[i].childNodes[3].textContent);
// window.alert(dom.getElementsByTagName("News")[i].childNodes[5].textContent);
var value = dom.getElementsByTagName("News")[i].textContent.split(' ');
var title = value[4];
var content = value[8];
var date = value[12];
data.push({title:title,content:content,date:date}); //在這裡,我們使用使用json,把資料庫儲存在裡面
}
}
}
else
{
window.alert("dom物件為空,失敗了!");
return;
}
if(data.length != 0)
{
var shtml = '';
for(var i=0;i
shtml += '
shtml += '
shtml += data[i].title;
shtml += '
shtml += '
shtml += '
shtml += data[i].content;
shtml += '
shtml += '
shtml += data[i].date;
shtml += '
shtml += '
shtml += '
shtml += '
';
}
document.getElementById('textDiv').innerHTML = shtml;
}
else
{
document.getElementById('textDiv').innerHTML = '沒有資訊!';
}
}
一下是xml的檔案格式:
ok,大家把他們放到同一個資料夾裡面就ok了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-545462/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IE和Firefox相容的JSFirefoxJS
- 獲取文字框中焦點的位置 相容IE,FireFoxFirefox
- CSS相容IE6,IE7,FireFoxCSSFirefox
- 阻止瀏覽器冒泡事件,相容firefox和ie瀏覽器事件Firefox
- JS對select動態新增options操作[IE&FireFox相容]JSFirefox
- 怎麼讓CSS相容IE和FireFox火狐的技巧大全CSSFirefox
- 相容FireFox,IE,Chrome的DIV頁面位置固定FirefoxChrome
- 複製到剪貼簿的js程式碼(相容ie、firefox、chorme、safari...什麼都相容!)JSFirefoxORM
- 瀏覽器相容IE6、IE7、IE8、Firefox、OperaCSShack區分瀏覽器FirefoxCSS
- JavaScript讀取本地檔案內容(相容低版本IE)JavaScript
- 相容FireFox,IE,Chrome的html線上編輯設定FirefoxChromeHTML
- python xml讀取和寫入PythonXML
- js讀取xml檔案,用了Microsoft.XMLDOMJSXMLROS
- JS實現複製到剪貼簿(支援IE和Firefox)JSFirefox
- JS的IE和FF相容性問題彙總JS
- javascript基礎(JSON的使用和低版本IE的相容)(四十七)JavaScriptJSON
- QDomDocument 讀取和編輯xml檔案XML
- 複製和貼上的js程式碼 for IE/FireFox/mozilla/ns(轉)JSFirefox
- JS加入收藏和設為主頁程式碼(相容IE和FF)JS
- C#讀取XMLC#XML
- 設為首頁 和 收藏本站js程式碼 相容IE,chrome,ffJSChrome
- Ms IE VS FirefoxFirefox
- 讀取xml檔案 解析雙層xmlXML
- Firefox拿什麼和IE賭明天(轉)Firefox
- JAVA 讀取xml檔案JavaXML
- FireFox和IE下使用Date來構造新Date物件的BUGFirefox物件
- 序列化篇 生成xml 以及讀取xmlXML
- Java系列:讀取XML檔案JavaXML
- C#讀取Xml檔案C#XML
- 用JDOM讀取XML檔案XML
- C# 讀取XML文件 (轉)C#XML
- JS對日期、時間校驗;相容IE new Date()JS
- html+vue.js 實現分頁可相容IEHTMLVue.js
- CSS設定DIVHerf底層圖片和連結同時改變,相容IE,Firefox,Opera,Safari,Chrome等CSSFirefoxChrome
- WEB前端:瀏覽器(IE+Chrome+Firefox)常見相容問題處理【03】Web前端瀏覽器ChromeFirefox
- C#不使用DataSet操作XML,XmlDocument讀寫xml所有節點及讀取xml節點的資料總結C#XML
- Firefox書籤匯入IEFirefox
- PDF線上閱讀控制元件多瀏覽器(IE,firefox,chrome,opera等)中的使用控制元件瀏覽器FirefoxChrome