JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)


Posted in Javascript onJune 02, 2016

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
javascript实现上传图片并预览的效果实现代码
Apr 11 Javascript
JS实现的省份级联实例代码
Jun 24 Javascript
javascript判断并获取注册表中可信任站点的方法
Jun 01 Javascript
js实现异步循环实现代码
Feb 16 Javascript
jQuery排序插件tableSorter使用方法
Feb 10 Javascript
vue.js框架实现表单排序和分页效果
Aug 09 Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
jQuery AJAX应用实例总结
May 19 jQuery
详解Vue的七种传值方式
Feb 08 Vue.js
jquery.validate使用详解
Jun 02 #Javascript
jQuery ajax应用总结
Jun 02 #Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 #Javascript
Jquery on方法绑定事件后执行多次的解决方法
Jun 02 #Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 #Javascript
Javascript小技能总结(推荐)
Jun 02 #Javascript
Jquery为DIV添加click事件的简单实例
Jun 02 #Javascript
You might like
PHP中的正则表达式函数介绍
2012/02/27 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Python正则表达式如何匹配中文
2020/05/27 Python
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
2014年技术员工作总结
2014/11/18 职场文书
围城读书笔记
2015/06/26 职场文书
关于军训的感想
2015/08/07 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript