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分页
Jun 07 Javascript
关于jquery css的使用介绍
Apr 18 Javascript
jQuery读取和设定KindEditor值的方法
Nov 22 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
Feb 13 Javascript
js字符串操作方法实例分析
May 06 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
js模态对话框使用方法详解
Feb 16 Javascript
微信小程序富文本渲染引擎的详解
Sep 30 Javascript
深入剖析Node.js cluster模块
May 23 Javascript
vue 组件销毁并重置的实现
Jan 13 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
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
基于python实现把图片转换成素描
2019/11/13 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
银行实习生自我鉴定范文
2013/09/19 职场文书
美术教师求职信范文
2015/03/20 职场文书
中国合伙人观后感
2015/06/02 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
保姆聘用合同
2015/09/21 职场文书
医德医风学习心得体会
2016/01/25 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
前端JavaScript大管家 package.json
2021/11/02 Javascript
Python学习之迭代器详解
2022/04/01 Python