如何在XSLT中更改日期格式

时间:2014-05-13 16:01:25

标签: xml xslt-1.0

我需要更改以下(Tag)xml中的日期格式(dateFrom)。

*改变:dd / mm / yyyy

<CancellationPolicies>
        <CancellationPolicy amount="355.500" dateFrom="20140613" time="2359" />
</CancellationPolicies>

为此,我使用这个xslt:在xslt中添加什么?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:dt="urn:schemas-microsoft-com:datatypes">
   <xsl:output omit-xml-declaration="yes" indent="yes"/>
   <xsl:template match="/">
      <xsl:apply-templates select="@*|node()"/>
   </xsl:template>
   <xsl:template match="ServiceHotel/AvailableRoom/HotelRoom/RoomType">
      Política de cancelación: Tipo Hab.
      <xsl:value-of select="@characteristic"/>
      codigo:
      <xsl:value-of select="@code"/>
   </xsl:template>
   <xsl:template match="//CancellationPolicies/CancellationPolicy">
      Si cancelas después de las
      <xsl:value-of select="@time"/>
      PM del
      <xsl:value-of select="@dateFrom"/>
      se aplicaran unos gastos de:
      <xsl:value-of select="@amount"/>
      <xsl:value-of select="//*/Currency/@code"/>
   </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:2)

  

你能举个例子吗?

<xsl:template match="CancellationPolicy">
      <xsl:value-of select="concat(substring(@dateFrom, 7, 2), '/', substring(@dateFrom, 5, 2), '/', substring(@dateFrom, 1, 4))"/>
</xsl:template>