本文實例講述了JS讀取XML文件數據並以table形式顯示數據的方法。分享給大家供大家參考,具體如下:
先看xml文件:
<?xml version="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頁面代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="獲取數據庫數據生成XML.aspx.cs" Inherits="Chapter1.獲取數據庫數據生成XML" %>
<!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 runat="server">
<title></title>
<script type="text/javascript">
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
}
else {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", dname, false);
xhttp.send("");
return xhttp.responseXML;
}
function ReadXml() {
var xmldoc = loadXMLDoc("Student.xml");
//獲得指定節點
var divmsg = document.getElementById("xmlMsg");
var msg = "<table border='1' id='mytable'><tr><th>姓名</th><th>性別</th><th>年齡</th><tr>";
var nodes = xmldoc.getElementsByTagName("stuinfo");
for (var i = 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>
<form id="form1" runat="server">
<div>
<input type="button" value="JS讀取XML" onclick="ReadXml()" /><br />
<div id="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程序設計有所幫助。