我想根據字段值person_id_external
對xml進行排序。在xslt中排序不起作用
,我正在使用的代碼是:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="A/B">
<xsl:copy>
<xsl:apply-templates>
<xsl:sort select="C/person_id_external" order="ascending" />
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
有效載荷是:
<A>
<B>
<C>
<logon_user_name>10027</logon_user_name>
<person_id>1100111</person_id>
<person_id_external>10027</person_id_external>
</C>
</B>
<B>
<C>
<logon_user_name>428122</logon_user_name>
<person_id>11141</person_id>
<person_id_external>111358</person_id_external>
</C>
</B>
<B>
<C>
<logon_user_name>428122</logon_user_name>
<person_id>100441</person_id>
<person_id_external>10636</person_id_external>
</C>
</B>
</A>
結果提供輸入的副本,但不排序。
預期結果是:
<A>
<B>
<C>
<logon_user_name>10027</logon_user_name>
<person_id>1100111</person_id>
<person_id_external>10027</person_id_external>
</C>
</B>
<B>
<C>
<logon_user_name>428122</logon_user_name>
<person_id>11141</person_id>
<person_id_external>10636</person_id_external>
</C>
</B>
<B>
<C>
<logon_user_name>428122</logon_user_name>
<person_id>100441</person_id>
<person_id_external>111358</person_id_external>
</C>
</B>
</A>
乾杯, Vikcy
您的問題不清楚。請舉例說明多個項目進行排序。 - **提示:** XML區分大小寫:'Person'與''不匹配。 –
嗨邁克爾,提交P帽名稱的人是一個錯字。在改變這個結果也沒有排序。關於有效載荷,CompoundEmployee根將出現多次,並且將只有一個person_id_external字段存在的person節點。 – Vicky
請不要在註釋中發佈代碼 - 而是編輯您的問題。 –