`
lbyzx123
  • 浏览: 477892 次
  • 性别: 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>

相关推荐

    读取XML文件生成页面表格

    总结来说,读取XML文件生成页面表格涉及的主要步骤包括: 1. 使用适当的工具或库解析XML文件。 2. 遍历XML元素,提取所需数据。 3. 创建HTML表格元素,添加数据到表格中。 4. 将生成的表格插入到页面的适当位置。 ...

    java XML解析方式实现自动生成word文档

    以下是一个基本的步骤,展示如何使用Java和Apache POI通过XML解析生成Word文档: 1. 引入Apache POI库:在项目中添加Apache POI依赖,通常是通过Maven或Gradle的配置完成。 2. 创建Word文档对象:使用`...

    读取xml生成表格 还可以实现无刷新更新数据

    本主题将深入探讨如何利用XML数据生成表格,并实现无刷新更新数据的功能。 首先,XML文件是一种结构化的数据格式,通过标签来定义数据的结构和意义。它允许自定义标签,这使得XML具有高度灵活性,可以适应各种类型...

    C# 读取XML文件并写入Excel表格

    综上所述,"C# 读取XML文件并写入Excel表格"这一主题涵盖了XML解析和Excel操作的关键技术,对于数据处理和报告生成等场景非常实用。在实际应用中,开发者可以根据具体需求调整代码逻辑,以满足各种复杂的业务需求。

    PHP读取XML显示到表格

    综上所述,"PHP读取XML显示到表格"这一技术涵盖了PHP的XML解析、HTML表格生成以及可能涉及的数据处理和样式设计。在阅读了相关博客(如提供的链接)后,开发者可以进一步了解并实践这一过程,提升自己的PHP与XML应用...

    读取Excel数据生成XML文件

    综上所述,实现“读取Excel数据生成XML文件”的过程涉及到对Excel数据的处理、XML语法的理解,以及利用编程语言如Python中的工具进行转换。同时,提供详细的使用说明和资源链接可以帮助用户更好地理解和应用这个过程...

    python解析xml生成excel文档

    `lxml` 是一个强大的XML和HTML处理库,它提供了高效的XML解析和操作功能。`openpyxl` 是用于读写Excel 2010 xlsx/xlsm/xltx/xltm 文件的库,它支持创建、读取和修改Excel文件,包括添加样式和颜色。 首先,安装所需...

    xml格式word文档解析器

    5. **嵌套循环数据生成表格**:更高级的功能是支持嵌套循环,即在处理表格时,可以同时处理多个级别的数据结构。例如,如果一个表格有子表格,解析器可以分别处理主表格和子表格的数据,生成层次化的表格结构。 6. ...

    NXopen二次开发将读取xml文件函数封装为dll方便调用

    本案例中,我们关注的是使用NXopen工具包进行的二次开发,目的是将读取XML文件的函数封装到一个动态链接库(DLL)中,以便于其他程序便捷地调用。下面将详细介绍这一过程及其相关知识点。 首先,我们需要了解XML...

    C# DataSet读取XML

    DataSet可以解析XML文件,将XML数据转换为内存中的表格形式,方便进行进一步的处理和展示。 要使用DataSet读取XML文件,我们需要遵循以下步骤: 1. 引入必要的命名空间:在C#代码中,我们需要引入`System.Data`和`...

    Qt读写Xml文件到QTableWidget.rar

    - 在读取XML文件时,要处理可能的错误,例如文件不存在或格式不正确。 - 当处理大量数据时,考虑分批读取和写入,避免一次性加载整个XML文件到内存。 - 在保存XML时,注意保持XML的结构和命名规范,以确保其他...

    android xml解析传值到listview布局成的表格且使用style

    本教程将详细讲解如何通过XML解析将数据传递给ListView,并将ListView布局成表格形式,同时利用Style来美化界面。 首先,让我们了解一下XML解析。XML(Extensible Markup Language)是一种结构化数据格式,常用于...

    Qt XML解析程序

    Qt XML解析程序是一种基于Qt库实现的XML文件处理技术,用于读取XML文档,并将其中的数据展示在属性列表和表格视图中。Qt是一个跨平台的C++开发框架,广泛应用于图形用户界面和嵌入式系统开发。XML(eXtensible ...

    XLS生成XML XML生成器

    总的来说,XLS生成XML的过程涉及到读取Excel文件的内容,解析每一行和每一列的数据,然后按照XML的语法规则重新组织这些数据,生成结构化的XML文档。这个过程中可能涉及的关键技术包括数据解析、数据映射和XML编码。...

    PL/SQL解析、生成XML例子

    首先,让我们理解PL/SQL中的XML解析。在Oracle数据库中,有一个强大的XML处理功能集,包括XMLType数据类型和一系列内置的XML函数。XMLType可以存储XML文档,而函数如XMLExists、XMLCast、XMLQuery和XMLTable则允许...

    C++利用XML代码快速生成EXCEL表格

    本示例中,我们探讨了如何利用C++结合XML技术来快速生成Excel表格(.XLS格式)。XML,全称为Extensible Markup Language,是一种用于存储和传输数据的标准化格式,其结构清晰,易于解析,使得它成为数据交换的理想...

    将EXCEL文件全方位解析成生成XML数据

    综上所述,将Excel文件转换为XML数据是一项涉及数据读取、解析、格式转换和数据结构理解的技术任务。通过这种方式,我们可以利用XML的优势来处理和传输数据,提高数据的可用性和互操作性。在实际项目中,应根据具体...

    excel文档解析和生成xml文件

    本主题将详细探讨如何使用Java的Apache POI库读取Excel文件,并利用JDOM库生成XML文件。 首先,Apache POI是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。在Java中,我们可以...

    解析Excel和XML

    **XML解析** XML文件的解析涉及到解析器,它们可以分为两种类型:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个文档到内存,适合小文件;SAX是事件驱动,逐行读取,适合大文件。 1....

    XML与Access的相互读写

    XML的读取通常通过XML解析器来实现,例如DOM(Document Object Model)或LINQ to XML。DOM将XML文档加载到内存中的树形结构,允许开发者遍历和修改XML节点。而LINQ to XML提供了一种更面向对象的方式来处理XML,结合...

Global site tag (gtag.js) - Google Analytics