JS解析XML的实现代码


Posted in Javascript onNovember 12, 2009

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>
Javascript 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
jQuery 三击事件实现代码
Sep 11 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
Dec 16 Javascript
卸载安装Node.js与npm过程详解
Aug 15 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
vuejs使用FormData实现ajax上传图片文件
Aug 08 Javascript
浅谈webpack对样式的处理
Jan 05 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 Javascript
js实现点赞效果
Mar 16 Javascript
跨域表单提交状态的变相判断代码
Nov 12 #Javascript
JS 中document.URL 和 windows.location.href 的区别
Nov 11 #Javascript
ASP中进行HTML数据及JS数据编码函数
Nov 11 #Javascript
javascript 日期常用的方法
Nov 11 #Javascript
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 #Javascript
jQuery 白痴级入门教程
Nov 11 #Javascript
Javascript 解疑
Nov 11 #Javascript
You might like
一道关于php变量引用的面试题
2010/08/08 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
浅谈PHP的反射API
2017/02/26 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
Python urlopen 使用小示例
2008/09/06 Python
Python迭代和迭代器详解
2016/11/10 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
python实现mean-shift聚类算法
2020/06/10 Python
简单了解Django项目应用创建过程
2020/07/06 Python
C#笔试题和英文面试题
2013/02/07 面试题
大学学习生活感言
2014/01/18 职场文书
电大本科自我鉴定
2014/02/05 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
北京天坛导游词
2015/02/12 职场文书
车队安全员岗位职责
2015/02/15 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
Oracle用户管理及赋权
2022/04/24 Oracle