我有一个名为filt
保存这样的 xml 的变量:
<filters>
<ISP_WebItem FILTER="Farve" FILTERNAME="Transparent" UNITCODE="" />
<ISP_WebItem FILTER="Antal" FILTERNAME="10" UNITCODE="mapper" />
<ISP_WebItem FILTER="Indpakning" FILTERNAME="Æske" UNITCODE="" />
<ISP_WebItem FILTER="Materiale" FILTERNAME="PP" UNITCODE="" />
<ISP_WebItem FILTER="Bredde" FILTERNAME="35.6" UNITCODE="cm" />
<ISP_WebItem FILTER="Farve" FILTERNAME="blue" UNITCODE="" />
<ISP_WebItem FILTER="Dybde" FILTERNAME="5" UNITCODE="mm" />
<ISP_WebItem FILTER="Farve" FILTERNAME="red" UNITCODE="" />
</filters>
我想按其“过滤器”属性对这些元素进行分组。那就是我想要这样的输出 xml(请注意,xml 元素由过滤器属性重新排列,即所有具有 FILTER 的元素现在都在相邻位置)
<filters>
<ISP_WebItem FILTER="Farve" FILTERNAME="Transparent" UNITCODE="" />
<ISP_WebItem FILTER="Farve" FILTERNAME="blue" UNITCODE="" />
<ISP_WebItem FILTER="Farve" FILTERNAME="red" UNITCODE="" />
<ISP_WebItem FILTER="Antal" FILTERNAME="10" UNITCODE="mapper" />
<ISP_WebItem FILTER="Indpakning" FILTERNAME="Æske" UNITCODE="" />
<ISP_WebItem FILTER="Materiale" FILTERNAME="PP" UNITCODE="" />
<ISP_WebItem FILTER="Bredde" FILTERNAME="35.6" UNITCODE="cm" />
<ISP_WebItem FILTER="Dybde" FILTERNAME="5" UNITCODE="mm" />
</filters>
我尝试过这样的事情:
<xsl:variable name="grouped_filt" select="$filt//ISP_WebItem[@FILTER = preceding-sibling::*[1]/@FILTER ]"></xsl:variable>
但没有用。我找不到任何错误。任何人都可以帮忙吗?