Как изменить формат даты в XML - PullRequest
0 голосов
/ 02 мая 2018

Мне нужно изменить формат даты с 2018-03-23 ​​на ДД-ММ-ГГГГ.

Вот мой входной XML-файл:

<ClientList>
   <Client>
     <CreateDate>2018-03-23</CreateDate>
   </Client>
</ClientList>

Вот мой XSL-файл, который только что показал дату, как во входном XML.

<ClientList>
  <Client>
    <Data>
    <xsl:value-of select="CreateDate"/>
    </Data>
  </Client>
</ClientList>

Как изменить формат даты на ДД-ММ-ГГГГ (23-03-2018)?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018
 <xsl:template match="ClientList">
        <xsl:element name="ClientList">
            <xsl:for-each select="Client">
            <xsl:element name="Client">
                <xsl:element name="CreateDate">
                    <xsl:value-of select="format-date(CreateDate,'[D01]-[M01]-[Y0001]')"/>
                </xsl:element>
            </xsl:element>
            </xsl:for-each>
        </xsl:element>
    </xsl:template>
0 голосов
/ 02 мая 2018

Если вы используете XSLT 2.0, вы можете сделать это

<xsl:value-of select="format-date(CreateDate, '[D01]-[M01]-[Y0001]')"/>

Если вы используете только XSLT 1.0, сделайте это

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