最近在專案中由於考慮到存取效能的問題,已經對內頁等做生成靜態處理了,但是裡面有些內容又是需要動態的,按照以前的方式,應該是會用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的格式就可以了。好像現在越來越多的網站已經開始使用p+JS+XML的方式去架構,呵呵,這裡先學習下程式碼效果還是比較不錯的,至少靜態頁面也可以動態的去讀取資料庫了,我不知道這個是不是Ajax的概念,應該算是吧。
以上是JS讀取XML資料的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!