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 相关文章推荐
在JavaScript中使用inline函数的问题
Mar 08 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
Nov 25 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
Jun 25 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
bootstrap multiselect 多选功能实现方法
Jun 05 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
JS正则表达式验证密码强度
Mar 18 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
Aug 12 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
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
JavaScript创建对象_动力节点Java学院整理
2017/06/27 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
日语专业个人的求职信
2013/12/03 职场文书
皮肤科医师岗位职责
2013/12/04 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
详解非极大值抑制算法之Python实现
2021/06/28 Python
MyBatis 动态SQL全面详解
2021/10/05 MySQL