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>

posted @ 2013-04-09 11:38  梦想mc  阅读(321)  评论(0编辑  收藏  举报