根据 ID 值对记录的顺序进行排序
Sort the order of records based upon ID value
我需要有关此 XSLT 的简短帮助,我有一个正确传输的 XSLT,但我需要根据 multiRef id="id1" 中提到的排序顺序明智地传输 xml XML
?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
<soapenv:Body>
<ns1:getGenResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
<ns1:getGenReturn xsi:type="soapenc:Array" soapenc:arrayType="xsd:anyType[2]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
</ns1:getGenReturn>
</ns1:getGenResponse>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Gen" xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/>
<name xsi:type="xsd:string">ULM</name>
<mail xsi:type="xsd:string">ulm@gmail.com</mail>
</multiRef>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Gen" " xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<name xsi:type="xsd:string">ABC</name>
<mail xsi:type="xsd:string">abc@gmail.com</mail>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
我有 XSLT,我使用它并且工作正常,但是这个 XSLT 不是基于 multiRef id 值排序。
<xsl:template match="/">
<getGenResponse>
<xsl:for-each select="//soap:Body/multiRef">
<getGenReturn>
<name><xsl:value-of select="name"/></name>
<mail><xsl:value-of select="mail"/></mail>
</getGenReturn>
</xsl:for-each>
</getGenResponse>
</xsl:template>
你能帮我如何根据 multiRef id=
对记录的顺序进行排序吗
谨致问候,
萨提什
排序是用 xsl:sort
:
<xsl:for-each select="//soap:Body/multiRef">
<xsl:sort select="@id"/>
..
</xsl:for-each>
我需要有关此 XSLT 的简短帮助,我有一个正确传输的 XSLT,但我需要根据 multiRef id="id1" 中提到的排序顺序明智地传输 xml XML
?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
<soapenv:Body>
<ns1:getGenResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
<ns1:getGenReturn xsi:type="soapenc:Array" soapenc:arrayType="xsd:anyType[2]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
</ns1:getGenReturn>
</ns1:getGenResponse>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Gen" xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/>
<name xsi:type="xsd:string">ULM</name>
<mail xsi:type="xsd:string">ulm@gmail.com</mail>
</multiRef>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:Gen" " xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<name xsi:type="xsd:string">ABC</name>
<mail xsi:type="xsd:string">abc@gmail.com</mail>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
我有 XSLT,我使用它并且工作正常,但是这个 XSLT 不是基于 multiRef id 值排序。
<xsl:template match="/">
<getGenResponse>
<xsl:for-each select="//soap:Body/multiRef">
<getGenReturn>
<name><xsl:value-of select="name"/></name>
<mail><xsl:value-of select="mail"/></mail>
</getGenReturn>
</xsl:for-each>
</getGenResponse>
</xsl:template>
你能帮我如何根据 multiRef id=
对记录的顺序进行排序吗谨致问候, 萨提什
排序是用 xsl:sort
:
<xsl:for-each select="//soap:Body/multiRef">
<xsl:sort select="@id"/>
..
</xsl:for-each>