我有一個XML結構,它看起來像這樣 -XSL多個排序層次
<Root>
<name rank = "1">ABC
<name rank ="1">BCD</name>
</name>
<name rank ="0">XYZ
<name rank ="1">BCD</name>
<name rank ="3">YYZ</name>
<name rank ="0">FEG</name>
<name rank ="0">DEG</name>
</name>
</Root>
我想通過它的一個副本,保留層次來改造這個XML,它的順序 排序(1 )按職級(升序) (2)如果隊伍是相等的,排序它的名字(升序)
改造後,結構應該是這樣的。
<Root>
<name rank ="0">XYZ
<name rank ="0">DEG</name>
<name rank ="0">FEG</name>
<name rank ="1">BCD</name>
<name rank ="3">YYZ</name>
</name>
<name rank = "1">ABC
<name rank ="1">BCD</name>
</name>
</Root>
我有下面的XSL,它不保留層次結構或給我正確的排序。有人可以幫我嗎?這是我第一次與XSL合作,並希望得到正確方向的幫助或指引。
<xsl:template match="/*">
<xsl:copy>
<xsl:for-each select="//name">
<xsl:sort select="@rank" data-type="number" order="ascending"/>
<xsl:sort select="name" order="ascending" />
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:copy>
</xsl:template>
提供的XML文檔中沒有「DEG」字符串。另外,' XYZ' - 這隻有三個孩子,但結果兒童的數量是四個。 ???請修改並更正。 –
2012-08-06 14:36:19
對不起,修正了錯字。 – Vic11 2012-08-06 15:33:53