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 AutoComplete自动完成 的使用方法实例
Mar 19 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
A标签中通过href和onclick传递的this对象实现思路
Apr 19 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
angularjs基础教程
Dec 25 Javascript
Javascript基础教程之定义和调用函数
Jan 18 Javascript
JavaScript实现音乐自动切换和轮播
Nov 05 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
10个经典的网页鼠标特效代码
Jan 09 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
JQuery与iframe交互实现代码
2009/12/24 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
灵泰克Java笔试题
2016/01/09 面试题
《蒲公英》教学反思
2014/02/28 职场文书
代收款委托书范本
2014/10/01 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
房产证明范本
2015/06/19 职场文书
公司周年庆典致辞
2015/07/30 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers