先准备一段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。