You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XSL过滤XML草稿post节点、移除发布状态字段并按标题排序

调整后可直接满足需求的完整XSL代码

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes" />

<xsl:template match="/data" >
    <xsl:copy>
        <xsl:for-each select="post[Status='publish']" >
            <xsl:sort select="translate(Title, 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" order="ascending" />
            <xsl:copy>
                <xsl:copy-of select="*[not(local-name()='Status')]" />
            </xsl:copy>
        </xsl:for-each>
    </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

核心调整说明

  • 过滤草稿post:在xsl:for-each的选择条件中添加[Status='publish'],直接排除所有Status为draft的post节点,对应需求1。
  • 移除已发布post的Status节点:放弃原有的整节点复制逻辑xsl:copy-of select=".",改为先复制post节点本身,再仅复制post下除Status外的所有子节点,对应需求2。
  • 原有不区分大小写按Title升序的排序逻辑保留,完全符合需求3的排序要求。

内容的提问来源于stack exchange,提问作者ima gica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:36:00