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 25 Javascript
javascript 获取图片尺寸及放大图片
Sep 04 Javascript
javascript文本模板用法实例
Jul 31 Javascript
早该知道的7个JavaScript技巧
Jun 21 Javascript
jQuery实现的购物车物品数量加减功能代码
Nov 16 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
May 25 Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
Vue中render函数的使用方法
Jan 31 Javascript
微信小程序 this.triggerEvent()的具体使用
Dec 10 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
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字符串函数的总结分析
2013/06/05 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
JS实现可改变列宽的table实例
2013/07/02 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python内置函数delattr的具体用法
2017/11/23 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python开发一个解析protobuf文件的简单编译器
2020/11/17 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
高级3D打印市场:Gambody
2019/12/26 全球购物
材料化学应届生求职信
2013/10/09 职场文书
车间班长岗位职责
2013/11/30 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
村容村貌整治方案
2014/05/21 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript