如何使用 xslt 按值对 xml 元素进行排序



我下面有一个xml。

<parent>
<child1>False</child1>
<child2>True</child2>
<child3>False</child3>
<child4>True</child4>
</parent>
<parent>
<child4>False</child1>
<child5>True</child2>
<child3>False</child3>
<child4>False</child4>
</parent>

按 True 排序后,xml 和最终的 xml 应如下所示

<parent>
<child4>True</child4>
<child2>True</child2>
<child1>False</child1>
<child3>False</child3>
</parent>
<parent>
<child5>True</child2>
<child4>False</child1>
<child3>False</child3>
<child4>False</child4>
</parent>

可以用xslt完成吗?我需要 xslt 逻辑来按 True 对 xml 元素进行排序。

xsl:sort就是你要找的。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" />
<xsl:template match="parent">
  <parent>
    <xsl:for-each select="*">
      <xsl:sort select="." order="descending"/>
      <xsl:copy-of select='.'/>
    </xsl:for-each>
  </parent>
</xsl:template>
</xsl:stylesheet>

相关内容

  • 没有找到相关文章

最新更新