所以我有这个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
答案 0 :(得分:9)
<xsl:for-each select="Services/ServiceBooking[not(ServiceID = preceding-sibling::ServiceBooking/ServiceID)]">
应该这样做,但您应该了解Muenchian grouping in XSLT 1.0或for-each-group
in XSLT 2.0。