дата в формате xsl (подстрока + конкатенация?) - PullRequest
5 голосов
/ 21 декабря 2009

У меня есть вход

<Date value="20091223"/>

и я хочу, чтобы вывод был

<Date>23122009</Date>

Я пытался использовать функцию подстроки для переформатирования даты

<xsl:value-of select="substring($Date,1,4)"/>

Но как объединить извлеченные год и месяцы и день вместе.

Ответы [ 4 ]

5 голосов
/ 21 декабря 2009

Предполагая, что пробелы не сохраняются, просто поместите их один за другим:

<xsl:value-of select="substring($Date,7,2)"/>
<xsl:value-of select="substring($Date,5,2)"/>
<xsl:value-of select="substring($Date,1,4)"/>

Если пробелы сохраняются, просто поместите их все в строку, без пробелов между ними.

Функция конкатенации Xpath также будет работать, но я считаю ее менее читабельной:

<xsl:value-of select="concat(substring($Date,7,2), substring($Date,5,2), substring($Date,1,4))"/>
2 голосов
/ 21 декабря 2009
<xsl:value-of select="substring(Date/@value, 7, 2)"/>
<xsl:value-of select="substring(Date/@value, 5, 2)"/>
<xsl:value-of select="substring(Date/@value, 1, 4)"/>
1 голос
/ 21 декабря 2009

Попробуйте это

<xsl:value-of select="concat(substring($Date,7,2),substring($Date,5,2),substring($Date,1,4))"/>
1 голос
/ 21 декабря 2009

Взгляните на XSLT concat function . В вашем случае это будет что-то вроде этого (не проверено):

<xsl:value-of select="concat(substring($Date,1,4), substring($Date,7,2), substring($Date,5,2))"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...