通过XSLT以XML格式格式化日期

当我使用XML序列化程序序列化时DateTime,它以以下格式编写:

<Date>2007-11-14T12:01:00</Date>

当通过XSLT样式表传递它以输出HTML时,如何格式化?在大多数情况下,我只需要日期,而当我需要时间时,我当然不希望其中包含“有趣的T”。

回答:

以下是几个您可以使用的1.0模板:

<xsl:template name="formatDate">

<xsl:param name="dateTime" />

<xsl:variable name="date" select="substring-before($dateTime, 'T')" />

<xsl:variable name="year" select="substring-before($date, '-')" />

<xsl:variable name="month" select="substring-before(substring-after($date, '-'), '-')" />

<xsl:variable name="day" select="substring-after(substring-after($date, '-'), '-')" />

<xsl:value-of select="concat($day, ' ', $month, ' ', $year)" />

</xsl:template>

<xsl:template name="formatTime">

<xsl:param name="dateTime" />

<xsl:value-of select="substring-after($dateTime, 'T')" />

</xsl:template>

致电给他们:-

    <xsl:call-template name="formatDate">

<xsl:with-param name="dateTime" select="xpath" />

</xsl:call-template>

    <xsl:call-template name="formatTime">

<xsl:with-param name="dateTime" select="xpath" />

</xsl:call-template>

其中xpath是具有标准日期时间格式的元素或属性的路径。

以上是 通过XSLT以XML格式格式化日期 的全部内容, 来源链接: utcz.com/qa/424019.html

回到顶部