JS解析XML的实现代码

  JS代码:

  

复制代码 代码如下:

  <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>