六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

读取XML,解析生成表格

[复制链接]

升级  44%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
116
 楼主| 发表于 2013-1-29 07:49:14 | 显示全部楼层 |阅读模式
js代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>读取XML,解析生成表格</title>
<script language="javascript">
 
function delrow(i){
 //删除第i行
 if(confirm("确定要该记录吗?")){
  var row = document.getElementById("row"+i);
  var tbl = row.parentNode;
  tbl.removeChild(row);
 }
}
function loadXML(handler) {
 var url = "students.xml"; 
 if(document.implementation&&document.implementation.createDocument) {
  var xmldoc = document.implementation.createDocument("", "", null);
  xmldoc.onload = handler(xmldoc, url);
  xmldoc.load(url);
 }
 else if(window.ActiveXObject) { 
  var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
  xmldoc.onreadystatechange = function() {
   if(xmldoc.readyState == 4) handler(xmldoc, url);
  }
  xmldoc.load(url);
 }
}
function makeTable(xmldoc, url) {
 var table = document.createElement("table");
 table.setAttribute("border","1");
 table.setAttribute("width","600");
 table.setAttribute("class","studList");
 var studListDiv = document.getElementById("studentList");
 studListDiv.appendChild(table);
 var caption = "Student Data from " + url;
 table.createCaption().appendChild(document.createTextNode(caption));
 var header = table.createTHead();
 var headerrow = header.insertRow(0);
 headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));
 headerrow.insertCell(1).appendChild(document.createTextNode("学号"));
 headerrow.insertCell(2).appendChild(document.createTextNode("性别"));
 headerrow.insertCell(3).appendChild(document.createTextNode("操作"));
 var student = xmldoc.getElementsByTagName("student");
 for(var i=0;i<student.length;i++) {
  var s = student[i];
  var name = s.getAttribute("name");
  var stuNo = s.getElementsByTagName("studentID")[0].firstChild.data;
  var sex = s.getElementsByTagName("sex")[0].firstChild.data;
  if (sex=="1")
   sex="男";
  else
   sex="女";
  var row = table.insertRow(i+1);
  row.setAttribute("id","row"+i);
  row.insertCell(0).appendChild(document.createTextNode(name));
  row.insertCell(1).appendChild(document.createTextNode(stuNo));
  row.insertCell(2).appendChild(document.createTextNode(sex));
  var del = row.insertCell(3).appendChild(document.createElement("a"));
  del.setAttribute("href","javascript:delrow("+i+")");
  del.innerHTML = "删除";
 }
}
</script>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body >
<div id="studentList"></div>
</body>
</html>
 
xml文件如下:
<?xml version="1.0"?>
<students>
      <student name="曹智">
       <studentID>1211102 </studentID>
       <sex>1</sex>
      </student>
     
      <student name="孙豪">
       <studentID>01212305</studentID>
       <sex>1</sex>
      </student>
     
      <student name="陈建林">
       <studentID>02211101</studentID>
       <sex>1</sex>
      </student>
     
      <student name="林晟思">
       <studentID>02211102</studentID>
       <sex>1</sex>
      </student>
     
      <student name="廖翠华">
       <studentID>02211103</studentID>
       <sex>0</sex>
      </student>
     
      <student name="何利欢">
       <studentID>02211104</studentID>
       <sex>0</sex>
      </student>
     
      <student name="徐文君">
       <studentID>02211105</studentID>
       <sex>0</sex>
      </student>
     
      <student name="甘四喜">
       <studentID>02211106</studentID>
       <sex>1</sex>
      </student>
     
      <student name="尤安康">
       <studentID>02211107</studentID>
       <sex>1</sex>
      </student>
     
      <student name="王俊凯">
       <studentID>02211108</studentID>
       <sex>1</sex>
      </student>
     
      <student name="王金龙">
       <studentID>02211109</studentID>
       <sex>1</sex>
      </student>
     
      <student name="董萌">
       <studentID>02211110</studentID>
       <sex>1</sex>
      </student>
     
      <student name="姚茂">
       <studentID>02211111</studentID>
       <sex>0</sex>
      </student>
     
      <student name="梁亮">
       <studentID>02211112</studentID>
       <sex>1</sex>
      </student>
     
      <student name="蔡丹青">
       <studentID>02211113</studentID>
       <sex>0</sex>
      </student>
     
      <student name="周玲琍">
       <studentID>02211114</studentID>
       <sex>0</sex>
      </student>
     
      <student name="陈小勇">
       <studentID>02211115</studentID>
       <sex>1</sex>
      </student>
     
      <student name="阮瑛">
       <studentID>02211116</studentID>
       <sex>1</sex>
      </student>
     
      <student name="顾杰">
       <studentID>02211117</studentID>
       <sex>1</sex>
      </student>
     
      <student name="钱颀峰">
       <studentID>02211118</studentID>
       <sex>1</sex>
      </student>
     
      <student name="龚剑虹">
       <studentID>02211119</studentID>
       <sex>0</sex>
      </student>
     
      <student name="岑丰其">
       <studentID>02211120</studentID>
       <sex>1</sex>
      </student>
     
      <student name="叶丹">
       <studentID>02211121</studentID>
       <sex>0</sex>
      </student>
     
      <student name="卢童鑫">
       <studentID>02211122</studentID>
       <sex>1</sex>
      </student>
     
      <student name="黄小锋">
       <studentID>02211123</studentID>
       <sex>1</sex>
      </student>
     
      <student name="蓝飞燕">
       <studentID>02211124</studentID>
       <sex>0</sex>
      </student>
     
      <student name="郑坚">
       <studentID>02211125</studentID>
       <sex>0</sex>
      </student>
     
      <student name="胡军">
       <studentID>02211126</studentID>
       <sex>1</sex>
      </student>
     
      <student name="郑瑶">
       <studentID>02211127</studentID>
       <sex>0</sex>
      </student>
     
      <student name="尹科峰">
       <studentID>02211128</studentID>
       <sex>1</sex>
      </student>
     
      <student name="祁竹坚">
       <studentID>02211129</studentID>
       <sex>1</sex>
      </student>
     
      <student name="杨玲君">
       <studentID>02211130</studentID>
       <sex>0</sex>
      </student>
     
      <student name="缪文伟">
       <studentID>02211131</studentID>
       <sex>1</sex>
      </student>
     
      <student name="卢琦蓓">
       <studentID>02211132</studentID>
       <sex>0</sex>
      </student>
     
      <student name="周凤玲">
       <studentID>02211133</studentID>
       <sex>0</sex>
      </student>
     
      <student name="李海顺">
       <studentID>02211134</studentID>
       <sex>1</sex>
      </student>
     
      <student name="陈森">
       <studentID>02211135</studentID>
       <sex>1</sex>
      </student>
     
      <student name="金路燕">
       <studentID>02211136</studentID>
       <sex>0</sex>
      </student>
     
      <student name="冯迪佳">
       <studentID>02211301</studentID>
       <sex>0</sex>
      </student>
     
      <student name="施希乐">
       <studentID>02211302</studentID>
       <sex>0</sex>
      </student>
     
      <student name="王莹">
       <studentID>02211303</studentID>
       <sex>0</sex>
      </student>
     
      <student name="王怡">
       <studentID>02211304</studentID>
       <sex>0</sex>
      </student>
     
      <student name="费菲">
       <studentID>02211305</studentID>
       <sex>0</sex>
      </student>
     
      <student name="叶彦佚">
       <studentID>02211306</studentID>
       <sex>0</sex>
      </student>
     
      <student name="江东梅">
       <studentID>02211307</studentID>
       <sex>0</sex>
      </student>
     
      <student name="黄瑶涵">
       <studentID>02213134</studentID>
       <sex>0</sex>
      </student>
     
      <student name="王芳">
       <studentID>02213212</studentID>
       <sex>0</sex>
      </student>
     
</students>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表