问题描述
Lable
上面是示例XML,我正在使用下面的代码访问XSLT中的节点,
<A>
<B>
<EO>dummy 1</EO>
<EF>test 1</EF>
</B>
<C>
<c1>amount</c1>
<c2>total</c2>
</C>
<C>
<c1>rpm</c1>
<c2>tax</c2>
</C>
<B>
<EO>dummy 2</EO>
<EF>test 2</EF>
</B>
<C>
<c1>amount 2</c1>
<c2>total 2</c2>
</C>
<C>
<c1>rpm 2</c1>
<c2>tax 2</c2>
</C>
</A>
B节点将为每个循环提供适当的值,但是在访问第二个foreach循环时,我将获得所有“ C”标记值。我需要的是它应该访问所有“ C”节点,该节点紧邻下面的当前B节点。请建议是否有解决方案。
解决方法
仅访问1个“ C”节点,该节点紧邻当前B节点
尝试:
<xsl:for-each select="A/B">
<div>
<xsl:value-of select="EO"/>
<xsl:value-of select="EF"/>
</div>
<div>
<xsl:value-of select="following-sibling::C[1]"/>
</div>
</xsl:for-each>