【孟宪会之精彩世界】DHtml精彩放送

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
在XSLT实现按日期排序作者:孟宪会 出自:【 孟宪会之精彩世界】 发布日期:2004年2月21日 11点47分56秒

    我们在使用XSLT进行XML转换的时候,经常遇到按XML日期类型的数据进行排序的情况,按照默认的排序规则,很难实现正确的排序效果。虽然最新的MsXML3 SP4提供了3种数据类型的排序方式:

  &amp;lt;xsl:sort select = string-expression data-type = { "text" | "number" | Qname } order = { "ascending" | "descending" } /&amp;gt; 
但好像仍不能满足我们的需要,下面我们就介绍日期类型数据的排序方法。我们的排序方法是基于下面语句的返回值为true的理论的:
 
好了,下面就是我们的xsl文件:

SortXML.xsl

  &amp;lt;?xml version="1.0" encoding="gb2312"?&amp;gt;&amp;lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="msxsl user"&amp;gt; &amp;lt;msxsl:script language="JavaScript" implements-prefix="user"&amp;gt; function xmlDateTime(nodelist) { return Date.parse(nodelist.replace(/-/g,"/")); } &amp;lt;/msxsl:script&amp;gt; &amp;lt;xsl:output omit-xml-declaration="yes"/&amp;gt; &amp;lt;xsl:template match="/"&amp;gt; &amp;lt;xsl:call-template name="ItemList"/&amp;gt; &amp;lt;/xsl:template&amp;gt; &amp;lt;xsl:template name="ItemList"&amp;gt; &amp;lt;thead&amp;gt; &amp;lt;th width="50%"&amp;gt;标题&amp;lt;/th&amp;gt; &amp;lt;th width="50%"&amp;gt;修改时间&amp;lt;/th&amp;gt; &amp;lt;/thead&amp;gt; &amp;lt;xsl:for-each select="/multistatus/response"&amp;gt; &amp;lt;xsl:sort order="descending" select="user:xmlDateTime(string(getlastmodified))" data-type="number"/&amp;gt; &amp;lt;a href="{href}" rel="nofollow" target="_blank"&amp;gt; &amp;lt;xsl:value-of select="Title"/&amp;gt; &amp;lt;/a&amp;gt; &amp;lt;xsl:value-of select="getlastmodified"/&amp;gt; &amp;lt;/xsl:for-each&amp;gt; &amp;lt;/xsl:template&amp;gt;&amp;lt;/xsl:stylesheet&amp;gt; 

SortXML.xml

  &amp;lt;?xml version="1.0" encoding="GB2312"?&amp;gt;&amp;lt;?xml-stylesheet type="text/xsl" href="SortXML.xsl"?&amp;gt;&amp;lt;multistatus&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://sz.luohuedu.net/xml/&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;2004-8-14 10:51:44&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://dotnet.aspx.cc/Play.aspx&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;2004-10-23 11:11:10&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】音乐频道&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://dotnet.aspx.cc/&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;2004-02-10 18:36:19&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://lucky.myrice.com/&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;2004-01-14 10:51:21&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://dotnet.aspx.cc/ShowList.aspx&amp;amp;amp;id=1&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;2003-11-2 10:52:26&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】ASP.NET&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt; &amp;lt;response&amp;gt; &amp;lt;href&amp;gt;http://dotnet.aspx.cc/CoolMenu/main.htm&amp;lt;/href&amp;gt; &amp;lt;getlastmodified&amp;gt;1999-02-21 22:07:43&amp;lt;/getlastmodified&amp;gt; &amp;lt;Title&amp;gt;【&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;孟宪会之精彩世界&amp;lt;/A&amp;gt;】&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;DHtml&amp;lt;/A&amp;gt;&amp;lt;A href="http://www.66of.com" target=_blank&amp;gt;精彩放送&amp;lt;/A&amp;gt;&amp;lt;/Title&amp;gt; &amp;lt;/response&amp;gt;&amp;lt;/multistatus&amp;gt; 

查看转换结果

http://sz.luohuedu.net/xml/SortXML.xml

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值