你既然要做兼容,你干嘛又不加判断浏览器类型(比如if(document.all))就直接 xmldoc = new ActiveXObject("MSXML2.DOMDocument");只要是new ActiveXObject就是IE浏览器的东东... 如果是Ajax获取服务器端返回的xml,不是有个responseXML么? 然后你 var dom = xmlHttp.responseXML; 这个dom就可以用标准函数来解析了吧, 比如 var len = dom.childNodes.length; for(var i=0;i<len;i++){ .....dom.childNodes[i]..... } 现在都用json了,很少用返回xml了.........
把获取获取xml文档部分封装在一个公共函数里 //载入XML文档 function loadXMLDoc(dname){ try {//Internet Explorer xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e){ try {//Firefox, Mozilla, Opera, etc. xmlDoc=document.implementation.createDocument("","",null); } catch(e) {alert(e.message)} } try{ xmlDoc.async=false; xmlDoc.load(dname); return xmlDoc; } catch(e){alert(e.message)} }
xmldoc = new ActiveXObject("MSXML2.DOMDocument");只要是new ActiveXObject就是IE浏览器的东东...
如果是Ajax获取服务器端返回的xml,不是有个responseXML么?
然后你
var dom = xmlHttp.responseXML;
这个dom就可以用标准函数来解析了吧,
比如
var len = dom.childNodes.length;
for(var i=0;i<len;i++){
.....dom.childNodes[i].....
}
现在都用json了,很少用返回xml了.........
//载入XML文档
function loadXMLDoc(dname){
try {//Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e){
try {//Firefox, Mozilla, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try{
xmlDoc.async=false;
xmlDoc.load(dname);
return xmlDoc;
}
catch(e){alert(e.message)}
}