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 相关文章推荐
js生成的验证码的实现与技术分析
Sep 17 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
使用jquery操作session方法分享
Jan 22 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
Nov 30 Javascript
详解如何在Angular中快速定位DOM元素
May 17 Javascript
Three.js基础学习之场景对象
Sep 27 Javascript
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
vue axios 简单封装以及思考
Oct 09 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
JavaScript 去重和重复次数统计
Mar 31 Javascript
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 验证码制作(网树注释思想)
2009/07/20 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
详解js异步文件加载器
2016/01/24 PHP
PHP 类与构造函数解析
2017/02/06 PHP
PHP 无限级分类
2017/05/04 PHP
javascript日期格式化示例分享
2014/03/05 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
Python如何生成树形图案
2018/01/03 Python
python 执行终端/控制台命令的例子
2019/07/12 Python
基于Python解密仿射密码
2019/10/21 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
亲戚结婚的请假条
2014/02/11 职场文书
python 判断文件或文件夹是否存在
2022/03/18 Python