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 相关文章推荐
pjblog中的UBBCode.js
Apr 25 Javascript
几个javascript操作word的参考代码
Oct 26 Javascript
jquery中的$(document).ready()与window.onload的区别
Nov 18 Javascript
jQuery中:submit选择器用法实例
Jan 03 Javascript
jQuery实现仿Google首页拖动效果的方法
May 04 Javascript
js贪吃蛇游戏实现思路和源码
Apr 14 Javascript
javascript中数组和字符串的方法对比
Jul 20 Javascript
关于ES6箭头函数中的this问题
Feb 27 Javascript
单页面vue引入百度统计的使用方法示例详解
Oct 13 Javascript
如何用RxJS实现Redux Form
Dec 29 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 Javascript
Node实现搜索框进行模糊查询
Jun 28 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
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
php数组总结篇(一)
2008/09/30 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
同学会主持词
2014/03/18 职场文书
采购意向书范本
2014/03/31 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android