zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JS解析XML的实现代码

JSXML代码 实现 解析
2023-06-13 09:14:14 时间
JS代码:
复制代码代码如下:

<scriptlanguage="javascript"type="text/javascript">
//需要读取的xml文件
varuRl="jsReadXml.xml";
varxmlDoc;
//初始化,给上述定义变量赋值
//functionshowcurcity(){
if(window.ActiveXObject)
{
xmlDoc=newActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false"
xmlDoc.load(uRl);
getvalue();
}
elseif(document.implementation&&document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","root",null);
xmlDoc.load(uRl);
xmlDoc.onload=getvalueff;
}
//else{
//returnnull;
//}
//}
functiongetvalue()
{
varnodes=xmlDoc.documentElement.childNodes;
varnow=newDate();
for(i=0;i<nodes.length;i++){
varvalue=nodes.item(i).childNodes.item(0).text;
alert(nodes.item(i).childNodes.item(1).text);
alert(nodes.item(i).childNodes.item(2).text);
}
}
functiongetvalueff(){
varcCode=xmlDoc.getElementsByTagName("date");
varnow=newDate();
varnowvalue=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代码:
复制代码代码如下:

<?xmlversion="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还是费了一点时间的.
复制代码代码如下:
<scriptlanguage="javascript"type="text/javascript">
varxmlDoc;
functionshowcurcity()
{
if(window.ActiveXObject)
{
xmlDoc=newActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false"
xmlDoc.load("OlyCity.xml");
getvalue();
}
elseif(document.implementation&&document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","root",null);
xmlDoc.load("OlyCity.xml");
xmlDoc.onload=getvalueff;
}
else
{
returnnull;
}
}
functiongetvalue()
{
varnodes=xmlDoc.documentElement.childNodes;
varnow=newDate();
for(i=0;i<nodes.length;i++){
varvalue=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;
}
}
}
functiongetvalueff(){
varcCode=xmlDoc.getElementsByTagName("date");
varnow=newDate();
varnowvalue=now.getFullYear()+"年"+(now.getMonth()+1)+"月"+now.getDate()+"日";
for(i=0;i<cCode.length;i++)
{
varvalue=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的片断.
复制代码代码如下:
<?xmlversion="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>