我有下一个XML:
<OPTION>
<PRICES>
<PRICE>
<PRICE_DATE>25 Nov 2014</PRICE_DATE>
</PRICE>
<PRICE>
<PRICE_DATE>26 Nov 2014</PRICE_DATE>
</PRICE>
</PRICES>
</OPTION>
在我的XSLT中,我需要所有PRICE_DATE(2014年11月25日和2014年11月26日)的价值。
<xsl:value-of select="PRICES//PRICE_DATE"/>
但返回值仅为2014年11月25日。
如何获取具有相同名称的所有节点的值?
答案 0 :(得分:1)
您需要使用像Saxon 9或XmlPrime这样的XSLT 2.0处理器并确保样式表具有version="2.0"
,因为在这种情况下您应该获得两个值或使用XSLT 1.0处理器,您需要使用{{1分别<xsl:for-each select="PRICES//PRICE_DATE"><xsl:value-of select="."/></xsl:for-each>
确保处理和输出所有选定的节点。对于XSLT 1.0,<xsl:apply-templates select="PRICES//PRICE_DATA"/>
元素仅输出第一个选定节点的字符串值。