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 相关文章推荐
用于自动添加Digg This!按钮的JavaScript
Dec 23 Javascript
建立良好体验度的Web注册系统ajax
Jul 09 Javascript
制作高质量的JQuery Plugin 插件的方法
Apr 20 Javascript
在javascript中实现函数数组的方法
Dec 25 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 Javascript
Javascript闭包实例详解
Nov 29 Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 Javascript
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
vue教程之toast弹框全局调用示例详解
Aug 24 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
详解如何使用React Hooks请求数据并渲染
Oct 18 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中spl_autoload详解
2014/10/17 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python使用MD5加密字符串示例
2014/08/22 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python自定义异常实例详解
2017/07/11 Python
Python生成器以及应用实例解析
2018/02/08 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
Django组件cookie与session的具体使用
2019/06/05 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
C语言中break与continue的区别
2012/07/12 面试题
跳蚤市场口号
2014/06/13 职场文书
公路施工安全责任书
2015/05/08 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
Python基础详解之邮件处理
2021/04/28 Python