按值对两个节点进行分组


<Item>
<Description>Dog</Description>
</Item>
<Item>
<Description>Cat</Description>
</Item>
<Item>
<Description>Turtle</Description>
</Item>
<Item>
<Description>Hedgehog</Description>
</Item>

不排序,但我需要刺猬总是在狗下

使用 xsl 可以做到这一点吗?

不确定您真正想要的输出是什么,但这总是将 Item 节点按狗、刺猬和其他节点的顺序排列。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="Items">
<xsl:copy>
<xsl:apply-templates select="Item[Description='Dog']"/>
<xsl:apply-templates select="Item[Description='Hedgehog']"/>
<xsl:apply-templates select="Item[Description!='Hedgehog' and Description!='Dog']"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Item">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>

你可以在这里尝试一下:https://xsltfiddle.liberty-development.net/gWEamLr

相关内容

  • 没有找到相关文章

最新更新