当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JS解析XML的实现代码

Javascript
JavaScript DOM学习第八章 表单错误提示
JavaScript DOM 学习第九章 选取范围的介绍
JavaScript CSS修改学习第一章 查找位置
JavaScript CSS修改学习第二章 样式
JavaScript CSS修改学习第三章 修改样式表
JavaScript CSS 修改学习第四章 透明度设置
JavaScript CSS修改学习第五章 给“上传”添加样式
JavaScript CSS修改学习第六章 拖拽
Jquery乱码的一次解决过程 图解教程
javascript 包裹节点 提高效率
javascript inneHTML的地雷
javascript 定义新对象方法
判定对象是否为window的js代码
jquery validator 插件增加日期比较方法
jquery 得到当前页面高度和宽度的两个函数
JavaScript 编写匿名函数的几种方法
jQuery 操作下拉列表框实现代码
jQuery入门问答 整理的几个常见的初学者问题
第一个JavaScript入门基础 document.write输出
javascript入门基础之私有变量

Javascript 中的 JS解析XML的实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 32 ::
收藏到网摘: n/a

用javascript实现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>