2014-11-23 111 views
0

我的下一个XML:XSLT - 让所有节点的值具有相同名称

<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

[XSLT字符串连接错误]的可能重复(http://stackoverflow.com/questions/27088701/xslt-string-join-error) – ThW 2014-11-23 13:29:35

回答

1

要么你需要使用XSLT 2.0处理器像撒克逊9或XmlPrime,并确保您的样式表有version="2.0"在这种情况下,你应该得到这两个值或者你需要分别使用<xsl:for-each select="PRICES//PRICE_DATE"><xsl:value-of select="."/></xsl:for-each><xsl:apply-templates select="PRICES//PRICE_DATA"/>,以确保一个XSLT 1.0处理器所有选定的节点都被处理并输出。使用XSLT 1.0时,xsl:value-of元素仅输出第一个选定节点的字符串值。

相关问题