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 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
Oct 11 Javascript
js 回车提交表单两种实现方法
Dec 31 Javascript
js中typeof的用法汇总
Dec 12 Javascript
js获取当前路径的简单示例代码
Jan 08 Javascript
jquery、js操作checkbox全选反选
Mar 12 Javascript
JavaScript将字符串转换为整数的方法
Apr 14 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
vue 中引用gojs绘制E-R图的方法示例
Aug 24 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
详解Vue中的MVVM原理和实现方法
Jul 15 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中使用PDF文档功能
2006/10/09 PHP
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
Python选课系统开发程序
2016/09/02 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
python urllib爬虫模块使用解析
2019/09/05 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
食品安全责任书
2014/04/15 职场文书
怀念母亲教学反思
2014/04/28 职场文书
个人安全承诺书
2014/05/22 职场文书
公司年终奖分配方案
2014/06/16 职场文书
先进工作者事迹材料
2014/12/23 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang