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 UI的tooltip函数修饰title属性的气泡悬浮框
Jun 24 Javascript
javascript不可用的问题探究
Oct 01 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
javascript十六进制及二进制转化的方法
May 06 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
JavaScript动态加载重复绑定问题
Apr 01 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 15 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
跨域表单提交状态的变相判断代码
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
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
php读取3389的脚本
2014/05/06 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
Python操作SQLite简明教程
2014/07/10 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
管理专员自荐信
2014/01/26 职场文书
社区灵活就业证明
2014/11/03 职场文书
质检员岗位职责
2015/02/03 职场文书