您的位置:首页 > 其它

avascript读取XML(兼容所有浏览器)

2011-05-26 13:51 477 查看
网页代码:

<!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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: