JS读取XML文件数据并以table显示数据(兼容IE火狐)
先看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 = ; i < nodes.length; i++) {
msg += "<tr>";
msg += "<td>" + nodes[i].getElementsByTagName("stuName")[].firstChild.nodeValue + "</td>";
msg += "<td>" + nodes[i].getElementsByTagName("stuSex")[].firstChild.nodeValue + "</td>";
msg += "<td>" + nodes[i].getElementsByTagName("stuAge")[].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、火狐,其他浏览器我没试。
JS读取XML文件数据并以table显示数据(兼容IE火狐)的更多相关文章
- jQuery、JS读取xml文件里的内容(JS先通过document.implementation.createDocument方法将xml转换成document对象,jQuery将读取到的xml转成table)
xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...
- Js读取XML文件为List结构
习惯了C#的List集合,对于Javascript没有list 极为不舒服,在一个利用Js读取XML文件的Demo中,决定自己构建List对象,将数据存入List. 第一步,Js读取XML文件知识 X ...
- IE下JS读取xml文件示例代码
JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...
- js 读取xml文件
读取xml文件 [原创 2007-6-20 17:35:37] 字号:大 中 小 js中读取xml文件,简单的例子: <html><head><script> ...
- js读取xml文件
假设我们现在要读取下面的 info.xml 文件 <?xml version="1.0" encoding="gb2312"?> <root& ...
- 【JavaScript】JS读取XML文件并进行搜索
需求效果 点击链接.当前页面载入xml文件并展示相应内容 通过搜索框.搜索xml文件内节点数据.展示包括内容的节点数据 功能实现 Demo终于实现效果 http://loadxmldemo.coder ...
- [HTML]js读取XML文件并解析
xml文件:test.xml <?xml version="1.0"?> <note> <to>George</to> <fr ...
- js操作XML文件兼容IE与FireFox
最近项目中用到了xml,需求是用户安装产品时先把一系列的数据保存到xml文件中,当执行到最后一步时才写入数据库,这样最大限度的减少了数据库的访问,于是不得不纠结在各浏览器的兼容性的问题(悲哀啊.... ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
随机推荐
- Win7无法添加用户的问题
这段时间搞dcom的东西,然后按照网上说的,用dcomcnfg打开管理器,在dcom中我的电脑里面属性中把默认身份验证级别改为 无.然后再使用的时候,发现win7中的账户管理里面,什么账户都没有了,不 ...
- python基础之return,参数
函数的返回值 1.什么是返回值: 返回值是一个函数的处理结果 2.为什么要有返回值 如果需要在程序中拿到函数的处理结果,做进一步的处理,则需要函数必须有返回值 3.函数返回值的应用: 函数的返回值用r ...
- Linux上挂载NTFS分区
1. 简介 本文的目的是提供读者在Linux操作系统上如何mount NTFS分区的文件系统的step-by-step指南.本文包括两个部分: 以只读方式mount NTFS文件系统: 以读写方式 ...
- 纠结好久的VM虚拟机MAC地址绑定问题
VM虚拟机(centos)采用桥接的方式访问网络,搭建一个Online Judger 的 web服务端.本想让虚拟机的ip能够固定下来,因此在路由上采用MAC和IP绑定的方式解决. 结果:每次重启虚拟 ...
- BZOJ1171 : 大sz的游戏
f[i]=min(f[j])+1,线段j与线段i有交,且l[i]-l[j]<=L. 线段j与线段i有交等价于y[j]>=x[i],x[j]<=y[i]. 因为l[i]递增,所以可以维 ...
- letter-spacing造成文字无法居中的问题
在使用letter-spacing增加字体间距时,发现字体间距被扩大的同时,字体无法完全居中在div中,如下: 原因:letter-spacing是在字中间产生的间隔,第一个字旁边没有间隔,所以导致不 ...
- Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors
Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...
- vuex 基础:教程和说明
作者注:[2016.11 更新]这篇文章是基于一个非常旧的 vuex api 版本而写的,代码来自于2015年12月.但是,它仍能针对下面几个问题深入探讨: vuex 为什么重要 vuex 如何工作 ...
- Windows Phone本地数据库(SQLCE):14、删除数据(翻译)
这是“windows phone mango本地数据库(sqlce)”系列短片文章的最后一篇第十四篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需 ...
- Struts2标签的<s:set>标签与JSTL的<c:set>标签
<s:set>标签 set标签 用于将某个值放入指定范围内.例如application.session范围等. 当某个值所在的对象图深度非常深时,例如如下:person.worker.wi ...