2014-11-23 2 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 (25 ноября 2014 года и 26 ноября 2014 года).

 <xsl:value-of select="PRICES//PRICE_DATE"/> 

, но возвращаемое значение - только 25 ноября 2014 года.

Как получить значения всех узлов с тем же именем?

+0

Возможный дубликат [Ошибка соединения строки XSLT] (http://stackoverflow.com/questions/27088701/xslt-string-join-error) – ThW

ответ

1

Либо вы должны использовать процессор XSLT 2.0, как Saxon 9 или XmlPrime и убедитесь, что ваша таблица стилей имеет version="2.0" как в этом случае вы должны получить оба значения или с процессором XSLT 1.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 элемент xsl:value-of выводит только строковое значение первого выбранного узла.

Смежные вопросы