所以我有这个xml代码,其中两个节点有相同的id值。如果同一节点与前面的同级节点具有相同的值,我如何才能不显示该节点?
如果a=12,b=10,c=!2。
xslt文件不应该显示c,因为它与a具有相同的值。
这里的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

最佳答案

<xsl:for-each select="Services/ServiceBooking[not(ServiceID = preceding-sibling::ServiceBooking/ServiceID)]">应该可以,但您应该了解Muenchian grouping in XSLT 1.0for-each-group in XSLT 2.0

09-04 06:32