JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法。分享给大家供大家参考,具体如下:
先看xml文件:
<?xmlversion="1.0"standalone="yes"?> <student> <stuinfo> <stuName>张秋丽</stuName> <stuSex>女</stuSex> <stuAge>18</stuAge> </stuinfo> <stuinfo> <stuName>李文才</stuName> <stuSex>男</stuSex> <stuAge>31</stuAge> </stuinfo> <stuinfo> <stuName>李斯文</stuName> <stuSex>男</stuSex> <stuAge>22</stuAge> </stuinfo> <stuinfo> <stuName>马英</stuName> <stuSex>女</stuSex> <stuAge>25</stuAge> </stuinfo> <stuinfo> <stuName>孙红雷</stuName> <stuSex>男</stuSex> <stuAge>32</stuAge> </stuinfo> <stuinfo> <stuName>欧阳俊雄</stuName> <stuSex>男</stuSex> <stuAge>28</stuAge> </stuinfo> <stuinfo> <stuName>江琳</stuName> <stuSex>女</stuSex> <stuAge>23</stuAge> </stuinfo> <stuinfo> <stuName>小小</stuName> <stuSex>女</stuSex> <stuAge>22</stuAge> </stuinfo> </student>
aspx页面代码:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="获取数据库数据生成XML.aspx.cs"Inherits="Chapter1.获取数据库数据生成XML"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
<scripttype="text/javascript">
functionloadXMLDoc(dname){
if(window.XMLHttpRequest){
xhttp=newXMLHttpRequest();
}
else{
xhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send("");
returnxhttp.responseXML;
}
functionReadXml(){
varxmldoc=loadXMLDoc("Student.xml");
//获得指定节点
vardivmsg=document.getElementById("xmlMsg");
varmsg="<tableborder='1'id='mytable'><tr><th>姓名</th><th>性别</th><th>年龄</th><tr>";
varnodes=xmldoc.getElementsByTagName("stuinfo");
for(vari=0;i<nodes.length;i++){
msg+="<tr>";
msg+="<td>"+nodes[i].getElementsByTagName("stuName")[0].firstChild.nodeValue+"</td>";
msg+="<td>"+nodes[i].getElementsByTagName("stuSex")[0].firstChild.nodeValue+"</td>";
msg+="<td>"+nodes[i].getElementsByTagName("stuAge")[0].firstChild.nodeValue+"</td>";
msg+="</tr>";
}
msg+="</table>";
divmsg.innerHTML=msg;
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<inputtype="button"value="JS读取XML"onclick="ReadXml()"/><br/>
<divid="xmlMsg">
</div>
</div>
</form>
</body>
</html>
上面的JS操作主要就避免了使用childNodes(因为火狐中有时候会出现childNodes[0]获取到的是"\n"而不是我们想要的第一个子节点,这个自己可以去试下,反正我是遇到了这种情况),使得可以兼容IE、火狐,其他浏览器我没试。
更多关于JavaScript相关内容可查看本站专题:《JavaScript操作XML文件技巧总结》、《JavaScript中ajax操作技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。