【问题标题】:Xslt- preceding-sibling within for-eachfor-each 中的 Xslt-previous-sibling
【发布时间】:2013-11-14 12:59:53
【问题描述】:

所以我有这个 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

【问题讨论】:

    标签: xml xslt xpath


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多