跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何用XSLT给XML排序 XSLT sort用法

XSLT排序核心是xsl:sort元素,须置于xsl:for-each或xsl:apply-templates内;支持按元素、属性、表达式排序,可指定data-type和order实现数值/字符串/日期等多类型升降序,允许多级排序。 用XSLT给XML排序,核心是 xsl:sort 元素,它必须放在 xsl:for-each 或 xsl:apply-templates 内部,用来指定排序依据和规则。 基本排序语法 最常用的是按元素文本内容升序 排列 : 这里 select="title" 表示按
</code></div> 子元素的文本值排序,默认升序( <div class="cxy-code-block"><button class="cxy-code-copy" aria-label="复制代码">复制</button><code class="language-auto">order="ascending"</code></div> ),不写也可省略。 控制排序方向和数据类型 数值、日期、字符串默认都按字符串比较,容易出错。需显式指定 data-type 和 order : <xsl:sort select="price" data-type="number" order="descending"/> —— 按数字降序排价格 <xsl:sort select="pubDate" data-type="text" order="ascending"/> —— 强制按字符串升序(如 ISO 格式日期可直接比) <xsl:sort select="substring(pubDate,1,4)" data-type="number"/> —— 提取年份再数值排序 多级排序(主序+次序) 多个 xsl:sort 元素顺序即优先级顺序。例如先按作者姓氏、再按书名: jQuery缩略图网格排列大图切换代码 jQuery缩略图网格排列大图切换代码是一款将所有缩略图以网格形式排列,当用户点击某张缩略图时,会以九宫格切片组合动画的方式组合出高清大图,效果非常棒。 下载 <xsl:for-each select="book"> <xsl:sort select="author/last-name"/> <xsl:sort select="title"/> <xsl:value-of select="title"/> by <xsl:value-of select="author/last-name"/> </xsl:for-each> 注意:第二级排序只在第一级相同时生效,逻辑与 SQL 中 <div class="cxy-code-block"><button class="cxy-code-copy" aria-label="复制代码">复制</button><code class="language-auto">ORDER BY last_name, title</code></div> 一致。 按属性或表达式排序 除了子元素,还能按属性值或任意 XPath 表达式排序: <xsl:sort select="@id" data-type="number"/> —— 按 <div class="cxy-code-block"><button class="cxy-code-copy" aria-label="复制代码">复制</button><code class="language-auto">id</code></div> 属性数值排序 <xsl:sort select="concat(author/last-name, ', ', author/first-name)"/> —— 拼接后按全名排序 <xsl:sort select="string-length(title)" order="descending"/> —— 按标题长度降序 只要 select 返回一个有效值(字符串、数字或布尔值),就能作为排序键。 </div> <!-- 文章导航 --> <nav class="cxy-article-nav" aria-label="文章导航"> <a href="https://www.vqhf.com/article/3182.html" class="cxy-article-nav-link cxy-article-nav-prev"> <span>‹</span> <div> <div class="cxy-article-nav-label">上一篇</div> <div class="cxy-article-nav-title">C/C++中命名空间(namespace)详解及其作用介绍</div> </div> </a> <a href="https://www.vqhf.com/article/3223.html" class="cxy-article-nav-link cxy-article-nav-next"> <div> <div class="cxy-article-nav-label">下一篇</div> <div class="cxy-article-nav-title">PHP后端获取视频元数据信息_PHP视频元数据信息获取</div> </div> <span>›</span> </a> </nav> </div> </article> <!-- 相关文章列表 --> <section class="cxy-content-section" style="margin-top: 20px;"> <h2 class="cxy-widget-title" style="margin-bottom: 20px;">相关文章</h2> <ul class="cxy-article-list"> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3182.html" class="cxy-article-link">C/C++中命名空间(namespace)详解及其作用介绍</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3181.html" class="cxy-article-link">VC通过托盘图标得到该所属进程的实现代码</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3177.html" class="cxy-article-link">Python神奇的内置函数locals的实例讲解</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3176.html" class="cxy-article-link">使用NDK进行开发android</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3169.html" class="cxy-article-link">深入分析Go语言项目中的关键特性与优势</a> <div class="cxy-article-meta">2026-09-08</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3223.html" class="cxy-article-link">PHP后端获取视频元数据信息_PHP视频元数据信息获取</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3225.html" class="cxy-article-link">PHP PDO执行多条SQL语句插入数据时如何避免语法错误?</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3226.html" class="cxy-article-link">PHP框架在旅游行业的应用</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3230.html" class="cxy-article-link">解决VSCode中Python语言服务器(Pylance)启动失败的问题</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3239.html" class="cxy-article-link">如何在Python中处理PyTorch中的类别不平衡_通过WeightedRandomSampler采样</a> <div class="cxy-article-meta">2026-09-09</div> </li> </ul> </section> </div> <!-- 右侧边栏 --> <aside class="cxy-sidebar cxy-sidebar-right" aria-label="侧边栏"> <!-- 推荐阅读 --> <div class="cxy-widget"> <h3 class="cxy-widget-title">推荐阅读</h3> <div class="cxy-recommend-grid"> <a href="https://www.vqhf.com/article/3771.html" class="cxy-recommend-item"> <div class="cxy-recommend-thumb"> <img src="https://www.vqhf.com/static/v0/images/article-6.jpg" alt="火币HTX官方APP获取地址 火币交易所最新版v9.0.5下载安装地址"> </div> <div class="cxy-recommend-title">火币HTX官方APP获取地址 火币交易所最新版v9.0.5下载安装地址</div> </a> <a href="https://www.vqhf.com/article/3766.html" class="cxy-recommend-item"> <div class="cxy-recommend-thumb"> <img src="https://www.vqhf.com/static/v0/images/article-6.jpg" alt="PHP中的特殊语法:Static、Final、Abstract等关键字"> </div> <div class="cxy-recommend-title">PHP中的特殊语法:Static、Final、Abstract等关键字</div> </a> <a href="https://www.vqhf.com/article/3763.html" class="cxy-recommend-item"> <div class="cxy-recommend-thumb"> <img src="https://www.vqhf.com/static/v0/images/article-6.jpg" alt="Python 实现字符串中指定位置插入一个字符"> </div> <div class="cxy-recommend-title">Python 实现字符串中指定位置插入一个字符</div> </a> <a href="https://www.vqhf.com/article/3762.html" class="cxy-recommend-item"> <div class="cxy-recommend-thumb"> <img src="https://www.vqhf.com/static/v0/images/article-6.jpg" alt="C#如何使用Hangfire_C#持久化后台任务与Cron面板看板【核心】"> </div> <div class="cxy-recommend-title">C#如何使用Hangfire_C#持久化后台任务与Cron面板看板【核心】</div> </a> </div> </div> <!-- 最新文章 --> <div class="cxy-widget"> <h3 class="cxy-widget-title">最新文章</h3> <ul class="cxy-article-list"> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3771.html" class="cxy-article-link">火币HTX官方APP获取地址 火币交易所最新版v9.0.5下载安装地址</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3766.html" class="cxy-article-link">PHP中的特殊语法:Static、Final、Abstract等关键字</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3763.html" class="cxy-article-link">Python 实现字符串中指定位置插入一个字符</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3762.html" class="cxy-article-link">C#如何使用Hangfire_C#持久化后台任务与Cron面板看板【核心】</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3759.html" class="cxy-article-link">C#怎么使用gRPC双向流_C#实现高效的实时数据推送【高级】</a> <div class="cxy-article-meta">2026-09-09</div> </li> <li class="cxy-article-item"> <a href="https://www.vqhf.com/article/3756.html" class="cxy-article-link">Golang container标准库有哪些_Golang内置数据结构说明</a> <div class="cxy-article-meta">2026-09-09</div> </li> </ul> </div> <!-- 热门标签 --> <div class="cxy-widget"> <h3 class="cxy-widget-title">热门标签</h3> <div class="cxy-article-tag-list"> <a href="https://www.vqhf.com/tag/1925" class="cxy-article-tag-item">排列</a> <a href="https://www.vqhf.com/tag/1744" class="cxy-article-tag-item">app</a> </div> </div> </aside> </div> </div> </main> <!-- 页脚 --> <footer class="cxy-footer"> <div class="cxy-container"> <div class="cxy-footer-links" style="justify-content: center;"> <a href="https://www.vqhf.com/22.html" class="cxy-footer-link">免责声明</a> <a href="https://www.vqhf.com/23.html" class="cxy-footer-link">关于我们</a> <a href="https://www.vqhf.com/24.html" class="cxy-footer-link">联系我们</a> <a href="https://www.vqhf.com/25.html" class="cxy-footer-link">投诉删除</a> <a href="https://www.vqhf.com/26.html" class="cxy-footer-link">投稿须知</a> </div> <div class="cxy-footer-copyright" style="text-align: center; margin-top: 20px;"> Copyright 2026 趣航编程网 版权所有 <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank" style="color: inherit;">黔ICP备2025063733号</a> </div> <div style="text-align: center; margin-top: 10px; font-size: 12px; color: #999;">免责声明:本站信息来源于网络,仅供学习使用,版权归原作者所有,如有不愿意被转载的情况,请联系QQ:182111886,通知我们删除已转载的信息。</div> </div> </footer> <!-- 返回顶部按钮 --> <button class="cxy-back-to-top" id="backToTop" aria-label="返回顶部">⇧</button> <!-- 公共脚本 --> <script src="https://www.vqhf.com/static/v0/js/common.js"></script> <div class="hide"> </div> </body> <script> (function() { var al = document.createElement("script"); al.src = "/api/log?action=views&code=200&id=3222&path=http%3A%2F%2Fwww.vqhf.com%2Farticle%2F3222.html&type=archive&nonce="+Date.now(); document.body.appendChild(al); })(); </script> </html>