2

したがって、この xml コードがあり、2 つのノードが同じ ID 値を持っています。前の兄弟と同じ値を持つ場合、同じノードを表示しないようにするにはどうすればよいですか?

つまり、A = 12、B = 10、C = !2 の場合です。A と同じ値を持つため、Xslt ファイルには C が表示されません。

ここにXML

<Services>
    <ServiceBooking> 
        <ID>A</ID>               
        <ServiceID>12</ServiceID>        
    </ServiceBooking>
    <ServiceBooking>
        <ID>B</ID>            
        <ServiceID>10</ServiceID>        
    </ServiceBooking>
    <ServiceBooking>
        <ID>C</ID>        
        <ServiceID>12</ServiceID>        
    </ServiceBooking>
</services>

そしてXslt

<xsl:for-each select="Services/ServiceBooking[not(preceding-sibling::ServiceID)]">
    <tr>
        <td class="name"><xsl:value-of select="ID" /></td>
        <td><xsl:value-of select="ServiceID"/></td>
    </tr>
</xsl:for-each>

誰でもこれで私を助けてくれますか?

mvh

4

1 に答える 1

9

<xsl:for-each select="Services/ServiceBooking[not(ServiceID = preceding-sibling::ServiceBooking/ServiceID)]">ただし、XSLT 1.0またはXSLT 2.0 での Muenchian グループ化について学ぶ必要があります。for-each-group

于 2013-11-14T13:03:33.817 に答える