function loadXML(flag,xml){
var xmlDoc;
//針對(duì)IE瀏覽器
if(window.ActiveXObject){
var aVersions = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];
for (var i = 0; i < aVersions.length; i++) {
try {
//建立xml對(duì)象
xmlDoc = new ActiveXObject(aVersions[i]);
break;
} catch (oError) {
}
}
if(xmlDoc != null){
//同步方式加載XML數(shù)據(jù)
xmlDoc.async = false;
//根據(jù)XML文檔名稱裝載
if(flag == true){
xmlDoc.load(xml);
} else{
//根據(jù)表示XML文檔的字符串裝載
xmlDoc.loadXML(xml);
}
//返回XML文檔的根元素節(jié)點(diǎn)。
return xmlDoc.documentElement;
}
} else{
//針對(duì)非IE瀏覽器
if(document.implementation && document.implementation.createDocument){
/*
第一個(gè)參數(shù)表示XML文檔使用的namespace的URL地址
第二個(gè)參數(shù)表示要被建立的XML文檔的根節(jié)點(diǎn)名稱
第三個(gè)參數(shù)是一個(gè)DOCTYPE類型對(duì)象,表示的是要建立的XML文檔中DOCTYPE部分的定義,通常我們直接使用null
這里我們要裝載一個(gè)已有的XML文檔,所以首先建立一個(gè)空文檔,因此使用下面的方式
*/
xmlDoc = document.implementation.createDocument("","",null);
if(xmlDoc != null){
//根據(jù)XML文檔名稱裝載
if(flag == true){
//同步方式加載XML數(shù)據(jù)
xmlDoc.async = false;
xmlDoc.load(xml);
} else{
//根據(jù)表示XML文檔的字符串裝載
var oParser = new DOMParser();
xmlDoc = oParser.parseFromString(xml,"text/xml");
}
//返回XML文檔的根元素節(jié)點(diǎn)。
return xmlDoc.documentElement;
}
}
}
return null;
}
posted on 2009-04-14 15:18
sanmao 閱讀(184)
評(píng)論(0) 編輯 收藏