javascript读取XML(兼容所有浏览器) 转自http://blog.csdn.net/haixinglh/article/details/6447360
网页代码:
<!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>
<title>无标题页</title>
<link type="text/css" rel="stylesheet" href="css/main.css" />
</head>
<body>
<div id="menulist" style="margin:10px 0 0 0;"><div style="width:187px;height:39px;background:url('images/menu_00.jpg');"></div></div>
<script type="text/javascript">
function loadXML(xmlFile) {
var xmlDoc;
if (window.ActiveXObject){//兼容IE浏览器
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false;;//关闭异步加载,如许可确保在文档完整加载之前,解析器不会继续执行剧本
xmlDoc.load(xmlFile);//告知解析器加载名为 xmlfile 的文档
xmlDoc=xmlDoc.documentElement;//获取XML文档中的根元素
}
else if (document.implementation && document.implementation.createDocument){
xmlDoc=document.implementation.createDocument(""," ",null);//兼容火狐浏览器
xmlDoc.async=false;//关闭异步加载,如许可确保在文档完整加载之前,解析器不会继续执行剧本
xmlDoc.load(xmlFile);//告知解析器加载名为 xmlfile 的文档
xmlDoc=xmlDoc.documentElement;//获取XML文档中的根元素
}
else
{
xmlDoc=null;
}
}
xmlDoc=loadXML("menuList.xml");
var menus=xmlDoc.documentElement.getElementsByTagName("info");
var htmlText="<ul>";
for(i=0;i<menus.length;i++)
{
var category=menus[i].childNodes[0].text;
var model=menus[i].childNodes[1].text;
var mlink=menus[i].childNodes[2].text;
htmlText+="<li><a href='"+mlink+"'>"+category+"</a></li>";
}
htmlText+="</ul>";
document.getElementById('menulist').innerHTML+=htmlText;
</script>
</body>
</html>
XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<bmenu>
<info>
<category>Nokia/诺基亚</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>Samsung/三星</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>Lenovo/联想</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>BIRD/波导</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>Motorola/摩托罗拉</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>Coolpad/酷派</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
<info>
<category>Gionee/金立</category>
<model>3610A</model>
<mlink>kk.html</mlink>
</info>
</bmenu>