用javascript实现XML的解析的实现代码,需要的朋友可以参考下。
JS代码:
(责任编辑:admin)<script language="javascript" type="text/javascript"> //需要读取的xml文件 var uRl = "jsReadXml.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(); for(i=0;i<nodes.length;i++){ var value=nodes.item(i).childNodes.item(0).text ; alert(nodes.item(i).childNodes.item(1).text); alert(nodes.item(i).childNodes.item(2).text); } } 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> 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> </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> </root> 下面的文章也可以一同参考下 我看IE与FF------Js读取xml文件 我几天为了实现一个小小的功能(奥运圣火传递路线).Js读取了下xml文件,为了适应IE与FF还是费了一点时间的. <script language="javascript" type="text/javascript"> var xmlDoc; function showcurcity() { if(window.ActiveXObject) { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false" xmlDoc.load("OlyCity.xml"); getvalue(); } else if(document.implementation && document.implementation.createDocument) { xmlDoc=document.implementation.createDocument("", "root", null); xmlDoc.load('OlyCity.xml'); xmlDoc.onload=getvalueff; } else { return null; } } function getvalue() { var nodes=xmlDoc.documentElement.childNodes; var now=new Date(); for(i=0;i<nodes.length;i++){ var value=nodes.item(i).childNodes.item(0).text ; if(value==now.toLocaleDateString()) { window.document.getElementById('curcity').innerText=nodes.item(i).childNodes.item(1).text; window.document.getElementById('curcity').href =nodes.item(i).childNodes.item(2).text; } } } 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++) { var value=cCode[i].childNodes[0].nodeValue; if(value==nowvalue) { window.document.getElementById('curcity').href =xmlDoc.getElementsByTagName("url")[i].childNodes[0].nodeValue;; window.document.getElementById('curcity').childNodes[0].nodeValue=xmlDoc.getElementsByTagName("city")[i].childNodes[0].nodeValue; } } } setInterval(showcurcity,1000); </script> 以下是xml的片断. <?xml version="1.0" encoding="gb2312" ?> <root> <citymessage> <date>2008年4月29日</date> <city>胡志明市</city> <url>http://torchrelay.beijing2008.cn/cn/journey/hochiminhcity/</url> </citymessage> <citymessage> <date>2008年4月30日</date> <city>香港</city> <url>http://torchrelay.beijing2008.cn/cn/journey/hongkong/</url> </citymessage> </root> |