2014-04-02 36 views
0

嗨,大家好,我在這裏遇到問題,對XSLT完全陌生,它讓我有點瘋狂,因爲我對語法不熟悉,但邏輯看起來很簡單。在XSLT中爲某些節點做一個for-each

所以,我有格式的XML:

<A> 
    <B> 
    <C>value1</C> 
    <D>amount1</D> 
    </B> 
</A> 
<A> 
    <B> 
    <C>value2</C> 
    <D>amount2</D> 
    </B> 
</A> 

在這種情況下,我想爲每一個返回A/B的每一個節點C的值循環做僅當節點d是一定值。因此,例如,你可以說

的for-each A/B,回報C,其中d = 「amount1」

任何人幫忙什麼的XSLT會是什麼?

回答

2

嘗試......

<xsl:for-each select="A/B[D='amount1']"> 
    <xsl:value-of select="C" /> 
</xsl:for-each> 

注意,這個假設目前你已經位於所有一個元素的父元素。

0

或者,你可以跳過xsl:for-each和使用

<xsl:copy-of select="root/A/B[D[.='amount1']]/C"/> 

我已經在你的輸入進行測試增加了一個root標籤。

+0

如果有很多匹配,我已經使用'copy-of'而不是'value-of' –

相關問題