0
我有一個XML,它帶有作爲子項屬性嵌入的itemid。我應該根據ItemID的值對XML進行排序。下面是XML根據孩子的屬性值對父項進行排序
<MultiApi TransIdKey="e5d6bd63-88cd-455f-8ab3-9510b5edb2b7" OrderId="" SoId="">
<API FlowName="Reservation">
<Input>
<ReserveItemInventory CheckInventory="Y" DemandType="RESERVED" ItemID="19998548" OrganizationCode="" QtyToBeCancelled="0" QtyToBeReserved="1" ReservationID="1000000000003" ShipNode="DC-W" UnitOfMeasure="EACH" xmlns="http://www.sterlingcommerce.com/documentation/YFS/reserveItemInventory/input"/>
</Input>
</API>
<API FlowName="Reservation">
<Input>
<ReserveItemInventory CheckInventory="Y" DemandType="RESERVED" ItemID="19998546" OrganizationCode="" QtyToBeCancelled="0" QtyToBeReserved="1" ReservationID="1000000000003" ShipNode="DC-W" UnitOfMeasure="EACH" xmlns="http://www.sterlingcommerce.com/documentation/YFS/reserveItemInventory/input"/>
</Input>
</API>
</MultiApi>
我有以下XSLT,但失敗以來的xmlns屬性的值有「輸入」結尾。如果我刪除下面的XSL xmlns屬性按預期工作。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="MultiApi">
<xsl:copy>
<xsl:apply-templates select="API">
<xsl:sort select="Input/ReserveItemInventory/@ItemID" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
我想要的輸出可考慮如下
<MultiApi TransIdKey="e5d6bd63-88cd-455f-8ab3-9510b5edb2b7" OrderId="" SoId="">
<API FlowName="Reservation">
<Input>
<ReserveItemInventory CheckInventory="Y" DemandType="RESERVED" ItemID="19998546" OrganizationCode="" QtyToBeCancelled="0" QtyToBeReserved="1" ReservationID="1000000000003" ShipNode="DC-W" UnitOfMeasure="EACH" xmlns="http://www.sterlingcommerce.com/documentation/YFS/reserveItemInventory/input"/>
</Input>
</API>
<API FlowName="Reservation">
<Input>
<ReserveItemInventory CheckInventory="Y" DemandType="RESERVED" ItemID="19998548" OrganizationCode="" QtyToBeCancelled="0" QtyToBeReserved="1" ReservationID="1000000000003" ShipNode="DC-W" UnitOfMeasure="EACH" xmlns="http://www.sterlingcommerce.com/documentation/YFS/reserveItemInventory/input"/>
</Input>
</API>
感謝您的響應VALDI,改變XSL沒有工作要麼 的 ...... XSL:應用模板> XSL:模板> XSL:樣式> –
我想你錯過任何可能的細節。建議的解決方案絕對有效。 正如需要,第一個輸出「API」元素具有「ItemID' ='19998546'和第二個'19998548'。有關工作示例,請參閱http://xsltransform.net/gVhD8RY –
您可以在這裏發佈XSL嗎? –