支持几乎所有浏览器的js载入xml文件

1.route.xml文件内容

<?xml version="1.0" encoding="GBK"?>

<root>
<route id="1111">
<id>111</id>
<name>四川</name>
<path>www.baidu.com/hehe.html</path>
</route>
</root>

2.test.html代码
<html>
<body>
<script>
try
{
// 用于 IE 的代码:
if (window.ActiveXObject)
{
var xmlobject =new ActiveXObject("Microsoft.XMLDOM");
xmlobject.async="false";
xmlobject.load("route.xml");
}
// 用于 Mozilla, Firefox, Opera, 等浏览器的代码:
else
{
//下2句为直接载入xml字符串
//var parser=new DOMParser(); 
//var xmlobject =parser.parseFromString(xmlstring,"text/xml");

//读取xml文件的方法,支持firfox,chrome浏览器 
var oXmlHttp = new XMLHttpRequest() ;
oXmlHttp.open( "GET", "route.xml", false ) ;
oXmlHttp.send(null) ; 
var xmlobject=oXmlHttp.responseXML;

//另一种读取xml文件的方法,在google chrome中不支持
//var xmlobject = document.implementation.createDocument("", "", null);
//xmlobject.async=false; 
//xmlobject.load("route.xml");
}
}
catch (e)
{
alert('对不起,您的浏览器暂不支持本操作,请使用IE6/IE7/遨游/firfox/Opera/chrome浏览器打开此页

面');
}
// get the XML root item
var root=xmlobject.getElementsByTagName('root')[0];
var routes=root.getElementsByTagName('route');
for (var i = 0 ; i < routes.length ; i++) {
var route=routes;
alert("id="+route.getAttribute("id"));
var name = route.getElementsByTagName("name")[0].firstChild.nodeValue;
alert(name);
}
</script>


</body>
</html>

你可能感兴趣的:(xml,浏览器,chrome,XMLhttpREquest,encoding,mozilla)