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 相关文章推荐
基于Jquery的标签智能验证实现代码
Dec 27 Javascript
javascript针对DOM的应用分析(三)
Apr 15 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
JS实现的抛物线运动效果示例
Jan 30 Javascript
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
vue-resource请求实现http登录拦截或者路由拦截的方法
Jul 11 Javascript
详解@angular/cli 改变默认启动端口两种方式
Nov 29 Javascript
了解javascript中let和var及const关键字的区别
May 24 Javascript
vue登录以及权限验证相关的实现
Oct 25 Javascript
es5 类与es6中class的区别小结
Nov 09 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
thinkphp实现数组分页示例
2014/04/13 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
PHP多维数组排序array详解
2017/11/21 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
js闭包的用途详解
2014/11/09 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
基于Python绘制个人足迹地图
2020/06/01 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
EJB实例的生命周期
2016/10/28 面试题
服装设计专业毕业生推荐信
2013/11/09 职场文书
求职推荐信范文
2013/12/01 职场文书
爱牙日活动总结
2014/08/29 职场文书
交通事故被告代理词
2015/05/23 职场文书
男方家长婚礼答谢词
2015/09/29 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书