关于XPATH的selectSingleNode和selectNodes方法

先准备一段xml代码:

<?xml version="1.0" encoding="UTF-8" ?> 
<root> 
<imags> 
<imgsrc>images/ad-01.jpg</imgsrc> 
<title>胡志明市</title> 
<url>http://torchrelay.beijing2008.cn/cn/journey/hochiminhcity/</url> 
<bb>bbbb</bb>
</imags> 
<imags> 
<imgsrc>images/ad-02.jpg</imgsrc> 
<title>香港2</title> 
<url>http://torchrelay.beijing2008.cn/cn/journey/hongkong/</url> 
</imags> 
<imags> 
<imgsrc>images/ad-03.jpg</imgsrc> 
<title>香港3</title> 
<url>http://torchrelay.beijing2008.cn/cn/journey/hongkong/</url> 
</imags> 
<imags> 
<imgsrc>images/ad-04.jpg</imgsrc> 
<title>香港4</title> 
<url>http://torchrelay.beijing2008.cn/cn/journey/hongkong/</url> 
</imags> 
<imags> 
<imgsrc>images/ad-05.jpg</imgsrc> 
<title>香港5</title> 
<url>http://torchrelay.beijing2008.cn/cn/journey/hongkong/</url> 
</imags> 
<abc>aaaaa</abc>
</root>

然后写一个html,进行解析

<!DOCTYPE html>
<html>
	<head>
		<script type="text/javascript">
//需要读取的xml文件 
		var uRl = "aa.xml"; 
		var xmlDoc; 
		//初始化,给上述定义变量赋值 
		 function showcurcity(){ 
			if(window.ActiveXObject) 
			{ 
				xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
				xmlDoc.async="false" 
				xmlDoc.load(uRl); 
				getvalue(); 
			} 
			else if(document.implementation && document.implementation.createDocument) 
			{ 
				xmlDoc=document.implementation.createDocument("", "root", null); 
				xmlDoc.load(uRl); 
				xmlDoc.onload=getvalueff; 
			} 
		// else { 
		// return null; 
		// } 
		 } 
		function getvalue() 
		{ 
			//var nodes=xmlDoc.documentElement.childNodes; 
			//var now=new Date(); 
			var path = "/root/imags[0]/title";
			var nodes1 = xmlDoc.selectNodes(path);
			alert(nodes1.length);
			alert(nodes1[0].childNodes[0].nodeValue);
			
			var path1 = "//abc";
			var nodes2 = xmlDoc.selectSingleNode(path1);
			alert(nodes2.childNodes[0].nodeValue);
			
			var path2 = "//imags/bb";
			var nodes3 = xmlDoc.selectSingleNode(path2);
			alert(nodes3.childNodes[0].nodeValue);
			
			 } 
		} 
		function getvalueff(){ 
			var cCode=xmlDoc.getElementsByTagName("date"); 
			var now = new Date(); 
			var nowvalue=now.getFullYear()+'年'+(now.getMonth()+1)+'月'+now.getDate()+'日'; 
			for(i=0;i<cCode.length;i++) 
			{ 
				alert(xmlDoc.getElementsByTagName("imgsrc")[i].childNodes[0].nodeValue); 
				alert(xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue); 
				alert(xmlDoc.getElementsByTagName("url")[i].childNodes[0].nodeValue); 
			} 
		} 
</script>		
		
		
		<title>test</title>
	</head>
	<body onload="showcurcity();">
		

	</body>
</html>

 使用上面代码,可以测试XPATH中的selectSingleNode()和seleceNodes()的使用。

注意:alert()值的时候,应严格按照xml节点的概念来alert.否则会出undefined或者null。

转载于:https://my.oschina.net/luckyone/blog/127340

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值