javascript读取XML文档

xml

<?xml version="1.0" encoding="utf-8"?> 
<Menus> 
  <Menu id="0" name="首页"> 
    <MenuItemTitle sid="01" mid="0" name="常用选项"> 
      <MenuItem mid="0" tid="01" url="Home.aspx">后台首页</MenuItem> 
      <MenuItem mid="0" tid="01" url="Test.aspx">测试页</MenuItem> 
    </MenuItemTitle> 
  </Menu> 
  <Menu id="0" name="试试"> 
     <MenuItemTitle sid="01" mid="0" name="常用选项"> 
       <MenuItem mid="0" tid="01" url="Home.aspx">后台首页</MenuItem> 
       <MenuItem mid="0" tid="01" url="Test.aspx">测试页</MenuItem> 
     </MenuItemTitle> 
  </Menu> 
</Menus>

 

读取上面的节点,显示在网页上,我是这样写的 

 1 <html> 
 2 <head> 
 3 <title></title> 
 4 <script type="text/javascript"> 
 5 function show() 
 6 { 
 7 if (window.XMLHttpRequest)
 8 
 9 { 
10      xmlhttp=new XMLHttpRequest(); 
11 } 
12 else 
13 { 
14     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
15 } 
16 if(xmlhttp!=null) 
17 { 
18    xmlhttp.open("GET","xmlname.xml",false); 
19    xmlhttp.send(null); 
20    var responsexml=xmlhttp.responseXML; 
21    var menus=responsexml.getElementsByTagName("Menus")[0]; 
22    var html=""; 
23    for(var i=0;i<menus.childNodes.length;i++) 
24    { 
25        var menu=menus.childNodes[i]; 
26        html=html+"<h1>"+menu.getAttribute("name")+"</h1><br>"; 
27        html=html+"<h2>"+menu.childNodes[0].getAttribute("name")+"</h2><br>"; 
28        for(var j=0;j<menu.childNodes[0].childNodes.length;j++) 
29        { 
30           var mi=menu.childNodes[0].childNodes[j]; 
31           var url=mi.getAttribute("url")+"<br>"; 
32           var txt=mi.childNodes[0].nodeValue; 
33           html=html+"   <a href=\""+url+"\">"+txt+"</a>";          
34        }           
35    } 
36    document.getElementById("tb").innerHTML=html; 
37 } 
38 else 
39 { 
40   alert("你用的什么浏览器?"); 
41 } 
42 } 
43 </script> 
44 </head> 
45 <body onload="show()"> 
46 <div id="tb"></div> 
47 </body> 
48 </html> 

 

没有用TABLE ,是因为显示倒了,所以设置了一个变量,然后显示!值得今后借签!

posted @ 2012-05-16 18:07  realnull  阅读(492)  评论(0)    收藏  举报