`
lbyzx123
  • 浏览: 468136 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

读取XML,解析生成表格

阅读更多

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 onLoad="loadXML(makeTable)">

<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>

分享到:
评论
2 楼 wait10000y 2011-03-23  
性质不一样吧
1 楼 jiyanliang 2008-10-30  
不用这么麻烦吧
直接使用xsl文件遍历非常的方便
<xsl:for-each select="student">
  <xsl:value-of select="studentID">
  ...........
</xsl>

相关推荐

    个人开发小工具--Unity读取Excel表格导出对应格式的json或者xml文件

    个人在unity里制作的一个读取excel表格小工具,导入要读取的excel表格,然后再导入对应的json或者xml模板格式,最后将excel表格的数据根据导入的模板格式生成对应的json或者xml文件。 PS:主要LitJson插件,unity...

    用xml 和 xsl 实现二维报表

    用xml 和 xsl 快速web实现二维统计报表 : 1、读取统计数据生成xml。 2、编写适合解析 xml 数据转化为报表的 XSL 附件是具体用例

    程序员考试刷题-TableParser:Csv文件的Scala解析器

    程序员考试刷题 TableParser ...编写器之类的东西可以很容易地生成本身为表格或面向序列的输出结构。 快速介绍 这个库包含一个应用程序 CsvToJSON,它接受一个 CSV 文件,解析它,转换数据,并输出一个

    JAVA编程百例(照着例子更容易!)

    实例70 使用JDOM解析XML 实例71 使用JDOM操作XML 实例72 欢迎进入APPLET世界 实例73 传递参数 实例74 监测鼠标事件 实例75 监测键盘事件 实例76 在APPLET中使用SWING 实例77 应用JAR包 实例78 播放声音 实例79 一个...

    集成目前Android主流优秀第三方组件

    XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持多种接口回调 SOAP协议通信...

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持多种接口回调 SOAP...

    集成安卓主流优秀第三方组件框架.zip

    XML解析XStream 动画开源库nineoldandroids 表单验证库android-validation-komensky 更多优秀开源库等待集成... 已封装工具类: HTTP网络通信工具类(ToolHTTP.java),get/post请求,支持多种接口回调 SOAP...

    PHP+Ajax网站开发典型实例-源代码

    实例50 服务器端自动生成XML文件 实例51 客户端以指定CSS样式显示数据 实例52 用户登录校验 实例53 页面自动刷新时间 实例54 实现新闻滚动播放 第7章 实现高级Ajax技术 第8章 Ajax数据库操作 第9章 Ajax时尚技术 第...

    CoreXLSX:用纯Swift编写的Excel电子表格(XLSX)格式解析器

    酷睿XLSX用纯Swift编写的Excel电子表格(XLSX)格式解析器 CoreXLSX是一个库,专注于表示的低级结构。 它允许您打开扩展名为.xlsx的电子表格存档,并将其内部结构映射为直接用Swift表达的模型类型。 请注意,此库仅...

    Java核心技术II(第8版)

    2.2 解析XML文档 2.3 验证XML文档 2.3.1 文档类型定义 2.3.2 XML Schema 2.3.3 实用示例 2.4 使用XPath来定位信息 2.5 使用名字空间 2.6 流机制解析器 2.6.1 使用SAX解析器 2.6.2 使用StAX解析器 2.7 生成XML文档 ...

    PHP+Ajax网站开发典型实例

    实例50 服务器端自动生成XML文件 实例51 客户端以指定CSS样式显示数据 实例52 用户登录校验 实例53 页面自动刷新时间 实例54 实现新闻滚动播放 第7章 实现高级Ajax技术 实例 55创建工具提示 实例 56读取响应...

    JiraToExcel:将数据从jira导入excel。 单一档案Excel范本

    直接查询Jira,解析生成的XML(实现IVBSAXContentHandler)。 快速地。 ###设置(请参见下图): 下载/复制到驱动器,然后在excel中打开文件。 确保启用宏(单击“安全警告”栏中的选项) 打开工作表/标签“ Con”...

Global site tag (gtag.js) - Google Analytics