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弹出对话框的方法总结
Mar 12 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
Jul 07 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
JS二级菜单不同实现方法分析【4种方法】
Dec 21 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
Sep 10 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 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 session_start()出错原因分析及解决方法
2013/10/28 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
Using the TextRange Object
2006/10/14 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
2013/07/08 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
vue .sync修饰符的使用详解
2018/06/15 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
教师推荐信范文
2013/11/24 职场文书
养殖人员的创业计划书范文
2013/12/26 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
个人债务授权委托书
2014/10/17 职场文书
史上最牛的辞职信
2015/02/28 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript