在HTML中通过JS实现对XML的加载

对搜狗、chrome兼容性不好,无法识别load()方法

stu.xml代码

<?xml version="1.0" encoding="utf-8"?>
<stulist>
	<stu id="1001">
		<name>张三</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1002">
		<name>李四</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1003">
		<name>王五</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1004">
		<name>赵六</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1005">
		<name>田七</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1006">
		<name>aa</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1007">
		<name>bb</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1008">
		<name>cc</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1009">
		<name>cc</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
	<stu  id="1010">
		<name>cc</name>
		<age>20</age>
		<sex>男</sex>
	</stu>
</stulist>
html的代码

<html>
	<head>
		<title>XML DOM</title>
		<script type="text/javascript">
		//定义加载xml文件处理函数
		function loadXMLDoc(dname){
			//创建xml解析对象
			try{
				xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); //Internet Explorer
			}catch(e){
				try{
					//Firefox, Mozilla, Opera, etc.
					xmlDoc=document.implementation.createDocument("","",null);
				}catch(e){
					alert(e.message);
				}
			}
			//加载并返回
			try{
			  xmlDoc.async=false;
			  xmlDoc.load(dname);
			  return(xmlDoc);
			}catch(e) {
				alert(e.message);
			}
			return(null);
		}
		//使用(加载stu.xml文件)
		var stuob = loadXMLDoc("stu.xml");
		//alert(stuob);//输出[object XMLDocument]
		var list = stuob.getElementsByTagName("stu"); //获取所有stu节点
		//alert(list.length);
		//alert(list[0].childNodes[1].childNodes[0].nodeValue);
	
		var str="<table width='400' border='1'>";
		str+="<tr><th>姓名</th><th>年龄</th><th>性别</th></tr>";
		//遍历所有list节点
		for(var i=0;i<list.length;i++){
			//alert(list[i].nodeName);
			//获取每个stu节点的所有子节点
			str+="<tr>";
			var stu = list[i].childNodes;
			for(var j=0;j<stu.length;j++){
				//判断必须是元素节点
				if(stu[j].nodeType==1){
					str+="<td>"+stu[j].childNodes[0].nodeValue+"</td>"; //获取里面文本节点的值
				}
				
			}
			str+="</tr>";
		}
		str+="</table>";
		document.write(str);
		</script>	
	</head>
	<body>
		<h2 style="color:red">解析XML文档</h2>
	</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值