IE下JS讀取xml文件示例代碼
更新時(shí)間:2013年08月05日 17:13:49 作者:
JS讀取xml文件具體步驟為:創(chuàng)建DOM對(duì)象、加載xml文件(僅適用于IE)附示例代碼,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
使用JS讀取xml文件,這里暫只考慮IE瀏覽器
step1 創(chuàng)建DOM對(duì)象
function createDom() {
var xmlDoc = null;
try { //IE
if (typeof arguments.callee.activeXString != 'string') {
var versions = [
"MSXML2.DOMDocument.6.0",
"MSXML2.DOMDocument.3.0",
"MSXML2.DOMDocument",
"Microsoft.XMLDOM"
];
var i,
len;
for (i = 0, len = versions.length; i < len; ++i) {
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex) {
// ignore
}
}
}
xmlDoc = new ActiveXObject(arguments.callee.activeXString);
} catch (ex) { // other
xmlDoc = document.implementation.createDocument("", "", null);
}
return xmlDoc;
}
IE8以前,XmlDom都是利用ActiveX對(duì)象實(shí)現(xiàn)的,在IE9之后,IE開(kāi)始支持Level 2級(jí)DOM,(其他支持Level 2 DOM的瀏覽器包括Firefox, Opera, Chrome, and Safari等)
可以像下面一樣創(chuàng)建XML DOM對(duì)象:
var xmldom = document.implementation.createDocument(namespaceUri, root, doctype);
step2 加載xml文件
function loadXML(file) {
var dom = createDom();
if (dom == null) {
alert("load filed!");
}
try {
dom.async = false;
dom.load(file);
} catch (ex) {
alert("unsupport browser!");
}
return dom;
}
一個(gè)簡(jiǎn)單的例子:
var xmlDom = loadXML("config.xml");
IE下,可以調(diào)用selectNodes() 和selectSingleNode()方法,利用XPath,快速定位節(jié)點(diǎn)
step1 創(chuàng)建DOM對(duì)象
復(fù)制代碼 代碼如下:
function createDom() {
var xmlDoc = null;
try { //IE
if (typeof arguments.callee.activeXString != 'string') {
var versions = [
"MSXML2.DOMDocument.6.0",
"MSXML2.DOMDocument.3.0",
"MSXML2.DOMDocument",
"Microsoft.XMLDOM"
];
var i,
len;
for (i = 0, len = versions.length; i < len; ++i) {
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex) {
// ignore
}
}
}
xmlDoc = new ActiveXObject(arguments.callee.activeXString);
} catch (ex) { // other
xmlDoc = document.implementation.createDocument("", "", null);
}
return xmlDoc;
}
IE8以前,XmlDom都是利用ActiveX對(duì)象實(shí)現(xiàn)的,在IE9之后,IE開(kāi)始支持Level 2級(jí)DOM,(其他支持Level 2 DOM的瀏覽器包括Firefox, Opera, Chrome, and Safari等)
可以像下面一樣創(chuàng)建XML DOM對(duì)象:
復(fù)制代碼 代碼如下:
var xmldom = document.implementation.createDocument(namespaceUri, root, doctype);
step2 加載xml文件
復(fù)制代碼 代碼如下:
function loadXML(file) {
var dom = createDom();
if (dom == null) {
alert("load filed!");
}
try {
dom.async = false;
dom.load(file);
} catch (ex) {
alert("unsupport browser!");
}
return dom;
}
一個(gè)簡(jiǎn)單的例子:
復(fù)制代碼 代碼如下:
var xmlDom = loadXML("config.xml");
IE下,可以調(diào)用selectNodes() 和selectSingleNode()方法,利用XPath,快速定位節(jié)點(diǎn)
您可能感興趣的文章:
- JS解析XML文件和XML字符串詳解
- JS讀取XML文件示例代碼
- JS操作XML實(shí)例總結(jié)(加載與解析XML文件、字符串)
- JS與jQ讀取xml文件的方法
- JavaScript操作XML文件之XML讀取方法
- JS使用ajax從xml文件動(dòng)態(tài)獲取數(shù)據(jù)顯示的方法
- javascript讀取Xml文件做一個(gè)二級(jí)聯(lián)動(dòng)菜單示例
- jsp讀取大對(duì)象CLOB并生成xml文件示例
- 用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)
- javascript實(shí)現(xiàn)加載xml文件的方法
- 使用JS讀取XML文件的方法
- jQuery解析XML文件同時(shí)動(dòng)態(tài)增加js文件的方法
- JS實(shí)現(xiàn)加載和讀取XML文件的方法詳解
相關(guān)文章
如何理解JS函數(shù)防抖和函數(shù)節(jié)流
函數(shù)防抖和函數(shù)節(jié)流都是對(duì)函數(shù)進(jìn)行特殊的設(shè)置,減少該函數(shù)在某一時(shí)間段內(nèi)頻繁觸發(fā)帶來(lái)的副作用。二者只是采用的設(shè)置方式和原理不一樣,其最終的目的是一樣的。2021-05-05
JS獲取及驗(yàn)證開(kāi)始結(jié)束日期的方法
這篇文章主要介紹了JS獲取及驗(yàn)證開(kāi)始結(jié)束日期的方法.涉及javascript針對(duì)日期的獲取、比較及判斷等技巧,需要的朋友可以參考下2016-08-08
javascript 如何生成不重復(fù)的隨機(jī)數(shù)
javascript 如何生成不重復(fù)的隨機(jī)數(shù)...2007-11-11
JavaScript實(shí)現(xiàn)構(gòu)造json數(shù)組的方法分析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)構(gòu)造json數(shù)組的方法,結(jié)合實(shí)例形式對(duì)比分析了javascript構(gòu)造json數(shù)組的實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-08-08
微信小程序使用for循環(huán)動(dòng)態(tài)渲染頁(yè)面操作示例
這篇文章主要介紹了微信小程序使用for循環(huán)動(dòng)態(tài)渲染頁(yè)面操作,結(jié)合實(shí)例形式分析了微信小程序使用for語(yǔ)句獲取data數(shù)據(jù)渲染頁(yè)面相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
JavaScript canvas實(shí)現(xiàn)鏡像圖片效果
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)鏡像圖片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
簡(jiǎn)單幾行JS Code實(shí)現(xiàn)IE郵件轉(zhuǎn)發(fā)新浪微博
大概就是說(shuō)我們可以用window.external.menuArguments這個(gè)對(duì)象獲取到內(nèi)部的信息,如window,document這些常用的對(duì)象2013-07-07

