IE下JS讀取xml文件示例代碼
更新時間:2013年08月05日 17:13:49 作者:
JS讀取xml文件具體步驟為:創(chuàng)建DOM對象、加載xml文件(僅適用于IE)附示例代碼,感興趣的朋友可以參考下,希望對大家有所幫助
使用JS讀取xml文件,這里暫只考慮IE瀏覽器
step1 創(chuàng)建DOM對象
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對象實現(xiàn)的,在IE9之后,IE開始支持Level 2級DOM,(其他支持Level 2 DOM的瀏覽器包括Firefox, Opera, Chrome, and Safari等)
可以像下面一樣創(chuàng)建XML DOM對象:
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;
}
一個簡單的例子:
var xmlDom = loadXML("config.xml");
IE下,可以調(diào)用selectNodes() 和selectSingleNode()方法,利用XPath,快速定位節(jié)點
step1 創(chuàng)建DOM對象
復(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對象實現(xiàn)的,在IE9之后,IE開始支持Level 2級DOM,(其他支持Level 2 DOM的瀏覽器包括Firefox, Opera, Chrome, and Safari等)
可以像下面一樣創(chuàng)建XML DOM對象:
復(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;
}
一個簡單的例子:
復(fù)制代碼 代碼如下:
var xmlDom = loadXML("config.xml");
IE下,可以調(diào)用selectNodes() 和selectSingleNode()方法,利用XPath,快速定位節(jié)點
您可能感興趣的文章:
- JS解析XML文件和XML字符串詳解
- JS讀取XML文件示例代碼
- JS操作XML實例總結(jié)(加載與解析XML文件、字符串)
- JS與jQ讀取xml文件的方法
- JavaScript操作XML文件之XML讀取方法
- JS使用ajax從xml文件動態(tài)獲取數(shù)據(jù)顯示的方法
- javascript讀取Xml文件做一個二級聯(lián)動菜單示例
- jsp讀取大對象CLOB并生成xml文件示例
- 用javascript讀取xml文件讀取節(jié)點數(shù)據(jù)
- javascript實現(xiàn)加載xml文件的方法
- 使用JS讀取XML文件的方法
- jQuery解析XML文件同時動態(tài)增加js文件的方法
- JS實現(xiàn)加載和讀取XML文件的方法詳解
相關(guān)文章
如何理解JS函數(shù)防抖和函數(shù)節(jié)流
函數(shù)防抖和函數(shù)節(jié)流都是對函數(shù)進(jìn)行特殊的設(shè)置,減少該函數(shù)在某一時間段內(nèi)頻繁觸發(fā)帶來的副作用。二者只是采用的設(shè)置方式和原理不一樣,其最終的目的是一樣的。2021-05-05javascript 如何生成不重復(fù)的隨機(jī)數(shù)
javascript 如何生成不重復(fù)的隨機(jī)數(shù)...2007-11-11JavaScript實現(xiàn)構(gòu)造json數(shù)組的方法分析
這篇文章主要介紹了JavaScript實現(xiàn)構(gòu)造json數(shù)組的方法,結(jié)合實例形式對比分析了javascript構(gòu)造json數(shù)組的實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下2018-08-08微信小程序使用for循環(huán)動態(tài)渲染頁面操作示例
這篇文章主要介紹了微信小程序使用for循環(huán)動態(tài)渲染頁面操作,結(jié)合實例形式分析了微信小程序使用for語句獲取data數(shù)據(jù)渲染頁面相關(guān)操作技巧,需要的朋友可以參考下2018-12-12JavaScript canvas實現(xiàn)鏡像圖片效果
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實現(xiàn)鏡像圖片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08簡單幾行JS Code實現(xiàn)IE郵件轉(zhuǎn)發(fā)新浪微博
大概就是說我們可以用window.external.menuArguments這個對象獲取到內(nèi)部的信息,如window,document這些常用的對象2013-07-07