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 相关文章推荐
javascript针对DOM的应用分析(三)
Apr 15 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
jQuery获取checkbox选中的值
Jan 28 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
详解微信小程序文件下载--视频和图片
Apr 24 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
vue实现同时设置多个倒计时
May 20 Vue.js
跨域表单提交状态的变相判断代码
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开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
Python实现的科学计算器功能示例
2017/08/04 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
详解django2中关于时间处理策略
2019/03/06 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
收银出纳员岗位职责
2014/02/23 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
先进单位申报材料
2014/12/25 职场文书
开幕式邀请函
2015/01/31 职场文书
超市采购员岗位职责
2015/04/07 职场文书
团队拓展训练感想
2015/08/07 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL