两款加载xml文档js代码
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>两款加载xml文档js代码</title>
<script language="网页特效">
function loadxml(filename){
//@mrthink.net
var xmldoc = null;
if (window.activexobject) {//写给ie系
xmldoc = new activexobject("microsoft.xmldom");
xmldoc.async = false;//这句别漏掉,否则ie系会报完成该操作所需的数据还不可用
//xmldoc.loadxml(filename);//这个是用来加载xml字符串的
xmldoc.load(filename);//如果用的是xml文件。
}
else
if (document.implementation && document.implementation.createdocument) {//webkit,geckos,op内核的
var xmlhttp = new window.xmlhttprequest();
xmlhttp.open("get", filename, false);//类型,文件名,是否缓存
xmlhttp.send(null);
xmldoc = xmlhttp.responsexml;
}
else {
xmldoc = null;
}
return xmldoc;
}
方法二
var xmldoc;
try{//ie
//创建空的微软 xml 文档对象
xmldoc=new activexobject("microsoft.xmldom");
}catch(e){
try{//ff
//创建空的 xml 文档对象
xmldoc=document.implementation.createdocument("","",null);
}catch(e){
alert(e.message);
}
}
try{
//关闭异步加载,这样可确保在文档完整加载之前,解析器不会继续执行脚本
xmldoc.async=false;
//加载xml文档
xmldoc.load(xml_file);
}catch(e){
alert(e.message);
return false;
}
return xmldoc;
</script>
</head>
<body>
原则上是全兼容的加载xml函数.经过本人测试的有:ie6/7/8,ff(geckos),chrome(webkit),opera,没装safira,但她和chrome一样的核,应该没问题.
</body>
</html>