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 打开页面window.location和window.open的区别
Mar 17 Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
jQuery的事件委托实例分析
Jul 15 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
Dec 06 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 Javascript
JavaScript中立即执行函数实例详解
Nov 04 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 Javascript
JS 事件机制完整示例分析
Jan 15 Javascript
vue 虚拟DOM的原理
Oct 03 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
火车头采集器3.0采集图文教程
2007/03/17 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PHP的引用详解
2015/02/22 PHP
PHP的反射机制实例详解
2017/03/29 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python实现手机通讯录搜索功能
2018/02/22 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
Python tcp传输代码实例解析
2020/03/18 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Python中Selenium模块的使用详解
2020/10/09 Python
军训感想500字
2014/02/20 职场文书
精彩的广告词
2014/03/19 职场文书
节水口号标语
2014/06/19 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书