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封装的对话框简单实现
Jul 21 Javascript
javascript简单性能问题及学习笔记
Feb 04 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
JS实现的数组全排列输出算法
Mar 19 Javascript
JavaScript模拟鼠标右键菜单效果
Dec 08 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
javascript 封装Date日期类实例详解
May 28 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
vue router 动态路由清除方式
May 25 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
discuz的php防止sql注入函数
2011/01/17 PHP
php bootstrap实现简单登录
2016/03/08 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
取得父标签
2006/11/14 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
Mac中安装nvm的教程分享
2017/12/11 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python二元算术运算常用方法解析
2020/09/15 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
研究生考核个人自我鉴定
2014/03/27 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书