大家好我这里有问题,对XSLT来说是全新的,这让我有点疯狂,因为我不熟悉语法,但逻辑看起来很简单。
所以我有一个xml的格式:
<A>
<B>
<C>value1</C>
<D>amount1</D>
</B>
</A>
<A>
<B>
<C>value2</C>
<D>amount2</D>
</B>
</A>
在这种情况下,我想为每个循环执行a,该循环只返回A / B的每个节点C的值,当节点D是某个值时。例如,你可以说
for-each A / B,return c,其中d =“amount1”
任何人都可以帮助解决XSLT的问题吗?
答案 0 :(得分:2)
试试这个......
<xsl:for-each select="A/B[D='amount1']">
<xsl:value-of select="C" />
</xsl:for-each>
注意,这假设您当前位于所有 A 元素的父元素上。
答案 1 :(得分:0)
或者,您可以跳过xsl:for-each
并使用
<xsl:copy-of select="root/A/B[D[.='amount1']]/C"/>
我在您的输入中添加了root
标记用于测试。