使用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript讀取本地檔案內容(相容低版本IE)JavaScript
- Unity 讀取xmlUnityXML
- QDomDocument 讀取和編輯xml檔案XML
- JS對日期、時間校驗;相容IE new Date()JS
- html+vue.js 實現分頁可相容IEHTMLVue.js
- 序列化篇 生成xml 以及讀取xmlXML
- firefox和IE在一個逗號上的差別Firefox
- js實現重寫new Date()相容IE6以上JS
- C#讀取Xml檔案C#XML
- Java系列:讀取XML檔案JavaXML
- 如何用瀏覽器讀取本地檔案(相容IE8),new bing能幫我嗎?瀏覽器
- 仿querySeletor 相容IE 67
- IE瀏覽器相容瀏覽器
- placeholder如何在相容IE?
- 噁心的相容問題:完美解決IE(IE6/IE7/IE8)不相容HTML5標籤的問題HTML
- 使用C#讀寫xml檔案C#XML
- Javascript 實現 Textarea 自動伸縮,相容IE6、IE7、IE8、IE9...JavaScriptIE9
- ie8相容問題
- 解決ie相容性問題
- IE9 跨域請求相容IE9跨域
- React、Vue在IE的相容問題ReactVue
- js上傳圖片預覽,相容IE6以上各大主流瀏覽器JS瀏覽器
- 使用Python和OpenMV讀取條形碼Python
- 利用xml輕鬆讀取web.config中的使用者自定義節XMLWeb
- JS 下載檔案方法分享(解決圖片檔案無法直接下載和 IE相容問題)JS
- ie瀏覽器相容模式怎麼設定在哪裡 ie瀏覽器相容模式設定方法瀏覽器模式
- IE 相容模式 設定 Meta Compatible 和 Iframe 子頁面的關係模式
- 一行程式碼解決各種IE相容問題,IE6,IE7,IE8,IE9,IE10行程IE9IE10
- css+js美化下拉框(相容IE6、7、8以上主流瀏覽器)CSSJS瀏覽器
- Android讀取XML實現軟體自動登陸AndroidXML
- 自定義checkbox樣式(相容IE9)IE9
- CSS實現文字豎排顯示(相容IE6/IE7)CSS
- Vue&axios post請求使用URLSearchParams相容IE的解決辦法VueiOS
- 利用CSS mix-blend-mode在firefox和chrome中獲取Facebook使用者資訊CSSFirefoxChrome
- 如何用Python讀取xml檔案後,裁剪標註圖片和擴容資料PythonXML
- 你經歷過老闆要求相容IE嗎?IE幾?有什麼感悟?
- js 讀取 input file 的內容JS
- 解決IE、firefox瀏覽器下JS的new Date()的值為Invalid Date、NaN-NaN的問題Firefox瀏覽器JSNaN
- 基於Xml 的IOC 容器-開始讀取配置內容XML