JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
来源: 阅读:929 次 日期:2016-06-17 11:31:16
温馨提示: 小编为您整理了“JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)”,方便广大网友查阅!

本文实例讲述了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程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map