北极·新秀
非注明原著,皆源之网络。
posts - 118,comments - 64,trackbacks - 5

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

XMl数据格式如下:

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

 

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

 

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

            }
else{
                txt
="";
            }

        }

    }
else{
        txt
="";
    }
    
    sales.innerHTML
=txt;
}

function LoadSalesDoc()
{
    var Url
="/XML/Hot.xml";
    cdsales.load(Url);
}

 

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

posted on 2007-04-17 19:17 北极熊,我来了! 阅读(4411) 评论(6) 编辑 收藏

FeedBack:
2007-05-27 02:12 | yoole[未注册用户]
请问具体要怎么使用呢,我新建了一个js文件把js语句全烤了进去,然后html页面包含了这个js,怎么什么也不显示呢,谢谢
 回复 引用   
#2楼[楼主]
2007-05-28 09:28 | 北极熊,我来了!      
sales.innerHTML=txt;
你的html页面存在着sales这个id的控件吗?

 回复 引用 查看   
2007-06-12 09:59 | 成功的希望[未注册用户]
thanks,应用你这个代码果真出来了!!!
 回复 引用   
#4楼[楼主]
2007-06-13 19:38 | 北极熊,我来了!      
呵呵,代码要靠自己去把握的哦。
 回复 引用 查看   
2007-07-30 18:28 | 求学[未注册用户]
当xml很大的时候比如10m ,那当xml很大的时候比如10m ,那么这种处理方式的效率如何?么这种处理方式的效率如何?
 回复 引用   
2008-06-17 18:04 | wsk[未注册用户]
good
 回复 引用