XML卷之實戰錦囊(1)動態排序(轉)

amyz發表於2007-08-12
XML卷之實戰錦囊(1)動態排序(轉)[@more@]

  (1):動態排序

  動機: 

  排序功能讓我們頁面上的資料顯的更人性化,是我們在網站上見過的很普遍的一個功能效果了。以往的自動排序都是用大量的指令碼程式碼來完成的,對一般的愛好者來說這是件困難的事情。然而用XML來處理的話就簡單多了。讓自己的頁面更加絢麗,哈哈,您是不是也心動了呢! 

  材料: 

  XML卷之動態排序

  有2個檔案:paixu.xml  和 paixu.xsl 

  作用: 

  在不重新整理頁面的情況下更據使用者自己的需要對資料重新進行排序顯示,有效的提高資料互動功能,讓自己的頁面更加絢麗多彩。 效果:  

  程式碼: 

  paixu.xml      1   Sailflying   一個簡單的排序   2002-1-11 17:35:33   XML專題       2   flyingbird   嫁給你,是要你疼的   2001-09-06 12:45:51   灌水精華       3   苛子   正規表示式在UBB論壇中的應用   2001-11-23 21:02:16   Web 程式設計精華       4   太乙郎   年末經典分舵聚會完全手冊 v0.1   2000-12-08 10:22:48   論壇灌水區       5   mmkk   Asp錯誤資訊總彙   2001-10-13 16:39:05   javascript指令碼 

  paixu.xsl 

  講解: 

  1)paixu.xml 是資料檔案,相信大家都不會有問題。

  2)paixu.xsl 是格式檔案,有幾個地方要注意。 

  (1)指令碼中:

  sortField=document.XSLDocument.selectSingleNode("//@order-by"); 

  作用是:找到有屬性為order-by的第一個節點,因此它對應的節點就是

  因此在初次onLoad的時候order-by的value值是blue_ID。

  而我們就是透過重新定義order-by的value值來達到排序的目的。 

  Layer1.innerHTML=source.documentElement.transformNode(stylesheet); 

  作用是:轉化XML資料後更改Layer1,因此在傳出引數'blue_name'後,

姓名我們將order-by的value值修改為是'blue_name',即以'blue_name'為排序方式。

  繼而透過重新顯示Layer1的innerHTML值來顯示新的排序內容。

  (2)文字中:

  order-by

  這個可不能少哦,不然就找不到了,效果嘛,你瞧瞧看吧!! 

  

  另外說一點:

  在大多的XML教科書中所顯示的程式碼中很少會加上encoding= "gb2312" ,

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950211/,如需轉載,請註明出處,否則將追究法律責任。

相關文章