JS读取XML数据

    最近在项目中由于考虑到访问性能的问题,已经对内页等做生成静态处理了,但是里面有些内容又是需要动态的,按照以前的方式,应该是会用JS的调用一个动态的脚本文件,前端时间看了下红孩子,好像里面有些代码蛮不错的,都是JS调用XML数据的,XML可以直接用动态脚本程序去生成,呵呵,不错的东西简单的研究了下,直接拿过来就可以使用了。

XMl数据格式如下:

None.gif <? xml version = " 1.0 "  encoding = " gb2312 " ?>
None.gif
< root >
None.gif
< item >
None.gif
< name > 刘亦菲 </ name >
None.gif
< url > MingXing / LiuYiFei.htm </ url >
None.gif
< color > 7A9D4B </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 蔡依林 </ name >
None.gif
< url > MingXing / CaiYiLin.htm </ url >
None.gif
< color > FD0000 </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 张娜拉 </ name >
None.gif
< url > MingXing / ZhangNaLa.htm </ url >
None.gif
< color > 7A9D4B </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 张韶涵 </ name >
None.gif
< url > MingXiang / ZhangShaoHan.htm </ url >
None.gif
< color > 0000FF </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 张靓颖 </ name >
None.gif
< url > MingXing / ZhangLiangYin.htm </ url >
None.gif
< color > 7A9D4B </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 李宇春 </ name >
None.gif
< url > MingXing / LiYuChun.htm </ url >
None.gif
< color > 7A9D4B </ color >
None.gif
</ item >
None.gif
< item >
None.gif
< name > 徐若瑄 </ name >
None.gif
< url > MingXing / XuLuXuan.htm </ url >
None.gif
< color > FD0000 </ color >
None.gif
</ item >
None.gif
</ root >

 

前端JS脚本代码如下:
//获取网站热门点击排行

 

None.gif var cdsales = new  ActiveXObject( " Microsoft.XMLDOM " );  // 创建XmlDom对象
None.gif
cdsales.async = true // 使用异步加载
None.gif
cdsales.onreadystatechange = LoadedSales;
None.giffunction LoadedSales()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    var txt
="";
InBlock.gif    
if(cdsales.readyState==4)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
if(cdsales.parseError.errorCode != 0
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            txt
="";
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif{
InBlock.gif            var bi
=cdsales.documentElement.selectNodes("item");
InBlock.gif            
if(bi!=null&&bi.length>0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
for(var i=0;i<bi.length;i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{    
InBlock.gif                    txt
+="<li>·<a href="+bi[i].childNodes[1].text+" style=color:"+bi[i].childNodes[2].text+">"+bi[i].childNodes[0].text+"</a></li>";
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockStart.gifContractedSubBlock.gif            }
elsedot.gif{
InBlock.gif                txt
="";
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gifContractedSubBlock.gif    }
elsedot.gif{
InBlock.gif        txt
="";
ExpandedSubBlockEnd.gif    }
    
InBlock.gif    sales.innerHTML
=txt;
ExpandedBlockEnd.gif}

None.giffunction LoadSalesDoc()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    var Url
="/XML/Hot.xml";
InBlock.gif    cdsales.load(Url);
ExpandedBlockEnd.gif}

None.gif

 

上面的Hot.Xml可以使用程序去自动生成,只要输出来的页面为Xml的格式就可以了。好像现在越来越多的网站已经开始使用DIV+JS+XML的方式去架构,呵呵,这里先学习下代码效果还是比较不错的,至少静态页面也可以动态的去读取数据库了,不知道这个是不是Ajax的概念,应该算是吧。

转载于:https://www.cnblogs.com/Apollo/archive/2007/04/17/717216.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值