在XSLT实现按日期排序

在XSLT实现按日期排序


作者:孟宪会 出自:【孟宪会之精彩世界】 发布日期:2004年2月21日 11点47分56秒 


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

  <xsl:sort 
    
select = string-expression 
    
data-type = { "text" | "number" | Qname }
    order 
= { "ascending" | "descending" } 
  
/>

但好像仍不能满足我们的需要,下面我们就介绍日期类型数据的排序方法。我们的排序方法是基于下面语句的返回值为true的理论的:

<script language="JavaScript">    alert(Date.parse("2004/08/09")==Date.parse("2004/8/9"))  </script>

好了,下面就是我们的xsl文件:

SortXML.xsl

<?xml version="1.0" encoding="gb2312"?>
<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">
  
<msxsl:script language="JavaScript" implements-prefix="user">
    function xmlDateTime(nodelist) {
      return Date.parse(nodelist.replace(/-/g,"/"));
    }
  
</msxsl:script>
  
<xsl:output omit-xml-declaration="yes"/>
  
<xsl:template match="/">
    
<xsl:call-template name="ItemList"/>
  
</xsl:template>
  
<xsl:template name="ItemList">
    
<table bgcolor="snow" border="1" cellpadding="5" cellspacing="2" borderColor="darkorange" style="font-size:9pt">
      
<thead>
        
<tr bgcolor="">
          
<th width="50%">标题</th>
          
<th width="50%">修改时间</th>
        
</tr>
      
</thead>
      
<tbody>
        
<xsl:for-each select="/multistatus/response">
          
<xsl:sort order="descending" select="user:xmlDateTime(string(getlastmodified))" data-type="number"/>
          
<tr>
            
<td>
              
<a href="{href}" target="_blank">
                
<xsl:value-of select="Title"/>
              
</a>
            
</td>
            
<td>
              
<xsl:value-of select="getlastmodified"/>
            
</td>
          
</tr>
        
</xsl:for-each>
      
</tbody>
    
</table>
  
</xsl:template>
</xsl:stylesheet>

SortXML.xml

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


STM32移植LVGL(LittleVGL) **STM32移植LVGL(LittleVGL)** 阅读详情

相关推荐

CC2340R5-OAD升级实战:从配置到调试的全流程解析

本文详细解析CC2340R5芯片的OAD(空中升级)全流程,涵盖环境配置、MCU-BOOT、OAD-BL和OAD-APP程序开发,以及内存布局和调试技巧。通过实战案例展示如何实现蓝牙设备的远程固件升级,提升开发效率和产品可维护性。

silver的专栏 1063

xslt 排序、遍历、原码输出

注:实际上就是按照子节点的数目倒排,自解点多地放到前面。  ]]>  {@path}/{/*/@fileName}{/*/@fileType}" class="blue">      {@path}/{/*/@fileName}{/*/@fileType}" class="blue"> ]]>  原文输出:]]>

LaoChai的专栏 1643

Python虚拟环境实战:如何在不同conda环境中共享CUDA的libcupti.so.12文件

本文深入探讨了在Python虚拟环境中解决`ImportError: libcupti.so.12`报错的工程化方案。通过分析动态链接库的搜索机制,提供了环境变量法、软链接法和系统级配置法三种解决方案,帮助开发者在不同conda环境中高效共享CUDA动态链接库,确保深度学习项目的顺利运行。

weixin_29094775的博客 240

xsl中对xml数据的排序和筛选

要对xml中的数据用xsl按一定的条件进行排序或是按条件过滤时,事实上xsl已经为我们提供了很好的支持,现在举一个对xml数据进行排序和过滤的例子: xml文件:          JoannaF   LindaB   04 September 2001   meeting tomorrow   can you tell me what room the com

怕瓦落地的专栏 1488

15、虚拟环境中的数据保护与恢复方案解析

本文深入解析了虚拟环境中两种重要的数据保护与恢复解决方案:RecoverPoint for Virtual Machines(RP4VM)在VxRail上的设计,以及Veeam Backup & Replication(VBR)与VxRail的集成方案。文章详细介绍了RP4VM的网络布局、故障转移场景及其相关问题,以及VBR的架构设计、备份与复制流程、许可证选项及其多平台支持特性。此外,还探讨了RP4VM与VBR结合使用的综合解决方案,以及未来数据保护领域的发展趋势,如智能化管理、云原生集成和零信任架构,为

t4y5u6i7o的博客 96

企业数据治理体系中的AI与业务融合:架构师的3个成功案例

企业数据治理的痛点从来不是“有没有做”,而是“做了之后有没有用”——很多企业花了数百万建数据仓库、做元数据管理,最后却陷入“数据躺在库里睡大觉”“AI模型因数据质量差而失效”的困境。本文通过零售、金融、制造3个真实案例,拆解架构师如何用AI连接数据治理与业务场景:从“客户画像不准”到“精准推荐提升30%转化率”,从“欺诈检测漏报”到“实时拦截减少50%损失”,从“库存积压”到“供应链周转率提升20%”。如何让数据治理从「合规驱动」转向「价值驱动」?

AI 原生应用开发的博客 992

XSLT应用-排序索引和编号

XSLT应用--排序、索引编号 排序处理语法:<xsl:sort select="XPathExpression" lang=language-code order={"ascending" | "descending"} case-order={"upper-first" | "lower-first"} data-type={"text" | "number" | other}>...

weixin_30337157的博客 432

【Unity工具篇】| 使用YooAsset接入自己的游戏项目,实现完整热更新流程

前面文章介绍了YooAsset的原理和接入官方示例文档的文章介绍,本文使用YooAsset接入自己的游戏项目做示例。 【Unity工具篇】| 资源管理插件YooAsset,原理及相关配置 【Unity工具篇】| 游戏完整资源热更新流程,YooAsset官方示例项目 具体接入方法有很多种,本文会参照官方示例 Space Shooter 太空战机DEMO 用到的方式接入自己的游戏项目。

努力前行,总会成为自己心中的那道光 1万+

xslt中的for-each排序

众所周知,我们可以使用xslt对xml数据进行格式化输出,xslt中有一种for-each标记可以实现对xml中重复标记的循环遍历,如果你对xslt还不太了解,可以去W3school网站上了解下。使用for-each标记可以非常方便地实现节点的遍历,而且在遍历的同时还可以对节点进行排序。   例如我们有这样一个xml文本: <?xmlver...

weixin_33853794的博客 618

【Bluetooth蓝牙开发】十一、一文秒懂 | 超详细的Bluez交叉编译

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 3979

ComfyUI 提示Allocation on device 显存占满的解决方法及秋叶整合包的优化方法

最近在玩ComfyUI的时候,发现一个让人崩溃的问题——VRAM一直占满,最终报错: 简单来说,就是显卡显存溢出了,导致程序无法继续运行。尤其是一些大模型或者复杂工作流,很容易让显存飙升到极限。那怎么办?直接在启动命令后加上 ,例如: 这个参数的作用是啥? 默认情况下,ComfyUI会尽量让模型一直留在显存里,即使有些部分暂时用不到,导致显存迟早被填满。而 可以强制让ComfyUI把数据卸载到常规内存,减少显存占用。如果你的显存真的不够用,还可以再加 参数: 这个参数的意思就是开启低显存模式,进一步优化

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

[导入]在XSLT实现按日期排序

文章来源:http://blog.csdn.net/net_lover/archive/2004/02/26/6960.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/02/26/816119.html

weixin_30678821的博客 89

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java xml排序,用Java排序XML

Hello I have an XML similiar to below, which needed to be sorted using the date field.I would like to sort the XML based on the date(say asc order), irrespective of whether the date is under Node1 or ...

weixin_39534100的博客 225

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

如何用xml進行相關信息排序及添加右擊事件

在你的xsl文件中insert入下面code就可以了!..............................................................................................................--此為以xml文件中的日期為准         window.event.cancelBubble = true;l

freeliver54的专栏 449

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 522

使用xsl1.0对商店交易数据进行分组排序(xsl:key)

目录 xml文件 xsl文件 输出结果 主要是使用Muenchian进行的分类 grouping 再通过 | 类似于linux的管道,对数据进行二次分组 XSLT/Muenchian grouping - Wikipediahttps://en.wikipedia.org/wiki/XSLT/Muenchian_grouping另外一个是使用apply-templates 进行模板嵌套 <xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点

daisy.skye的博客 1396

xpath 重点

                                         select="substring(substring-before(@publishtime, -), 1, 4)"              data-type="number" order="descending"/>                                     

我的地盘 780

XSLT <xsl:sort> 元素

本文全面解析XSLT中的<xsl:sort>元素,涵盖2025年最新用法和常见问题。主要内容包括:1)基本语法(两种使用位置);2)完整属性表(包含select、order等关键属性);3)10种实用排序写法(价格、中文拼音、日期等);4)三大常见错误及解决方案;5)与分组功能配合使用;6)实战案例(处理带单位的销量排序)。文章强调关键点:select写对字段,data-type必须指定,并提供可直接复用的代码示例,帮助开发者高效实现各种排序需求。

likuoelie的博客 865

什么是 XSLT?

XSLT是什么类型的语言,其用途是什么,为什么要这样设计它?这些问题可以有许多不同的答案,初学者往 往会感到困惑,因为这种语言与他们以前习惯使用的语言之间有很大差别。本文尝试说明XSLT。本文并不试图教您编写 XSLT样式表,它将说明这种语言的起源,它擅长什么,以及您为什么应该使用它。 我撰写本文的初衷是为一篇关于 Saxon 的技术文章提供必要的背景知识,打算提供在

1490

XSLT 是什么类型的语言?

XSLT 是什么类型的语言?分析和概述Michael H. Kay2001 年 2 月 XSLT是什么类型的语言,其用途是什么,为什么要这样设计它?这些问题可以有许多不同的答案,初学者往往会感到困惑,因为这种语言与他们以前习惯使用的语言之间有很大差别。本文尝试说明XSLT。本文并不试图教您编写 XSLT样式表,它将说明这种语言的起源,它擅长什么,以及您为什么应该使用它。 我撰写本文的初衷是为一篇关

DX 1579

XSLT

 XSLT是什么类型的语言,其用途是什么,为什么要这样设计它?这些问题可以有许多不同的答案,初学者往往会感到困惑,因为这种语言与他们以前习惯使用的语言之间有很大差别。本文尝试说明XSLT。本文并不试图教您编写 XSLT样式表,它将说明这种语言的起源,它擅长什么,以及您为什么应该使用它。我撰写本文的初衷是为一篇关于 Saxon 的技术文章提供必要的背景知识,打算提供在传统 XSLT 处理器中使用

旭日东升 732

XSLT 函数

XSLT 核心函数速查(2025精选) 本手册精选32个最常用的XSLT函数,按使用频率排序,涵盖1.0/2.0/3.0版本核心功能。包含字符串处理(contains/substring/normalize-space)、数学运算(format-number/round)、日期处理(format-date)、类型转换(string/number)等关键函数,特别标注了3.0新增的JSON处理(xml-to-json)和数据结构操作(map/array)等现代功能。手册提供典型应用场景示例,如价格格式化、字符

likuoelie的博客 396
上一篇: 实现类似Windows资源管理器的DataGrid
下一篇: 将某一目录下的所有相同格式的 XML文件绑定到不同的DataGrid
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值