解析XSL日期格式

纽科姆

我正在制作XSL样式表,以格式化Shopify输出的XML日期。

输出是什么?

<created-at type="dateTime">2014-12-23T14:27:53-05:00</created-at>

我需要调整它看起来像

<created-at type="dateTime">2014-12-23 14:27:53</created-at>

我只是不确定如何删除“ T”或最后剪辑时区标记。

有什么建议?

当前的XSL样式表(订购日期是我要调整的日期);

<xsl:template match="order">
    <html>
        <head>
            <title>St. Baldrick's Order #<xsl:value-of select="order-number" /></title>
        </head>
        <body>
            <p>
                Order Number: <xsl:value-of select="order-number" /><br /><!-- Their Order Number -->
                Client ID: <xsl:value-of select="id" /><br /><!-- Internal Compass ID or Customer Account Number -->
                First Name: <xsl:value-of select="first-name" /><br /><!-- Ship-to first name -->
                Last Name: <xsl:value-of select="last-name" /><br /><!-- Ship-to last name -->
                Order Date: <xsl:value-of select="created-at" /><br /><!-- Order Date -->
            </p>
        </body>
    </html>
</xsl:template>

matthias_h

做到这一点的一种方法就是作为匹配整个节点的示例

<xsl:template match="created-at">
  <xsl:copy>
   <xsl:attribute name="type" select="@type"/>
     <xsl:value-of select="substring(translate(.,'T', ' '),1,string-length()-6)"/>
  </xsl:copy>
</xsl:template>

结果: <created-at type="dateTime">2014-12-23 14:27:53</created-at>

这将使用替换T,translate()使用剪切最后6个字符substring()

更新:如注释中所述,如果日期始终为hh:mm:ss格式string-length(),则substring()可以删除中的,并将select表达式简化为<xsl:value-of select="substring(translate(.,'T', ' '),1,19)"/>

对于刚刚添加的原始模板匹配order:如果您更改此设置,它应该可以工作:

Order Date: <xsl:value-of select="created-at" />

到这个:

Order Date: <xsl:value-of select="substring(translate(created-at,'T', ' '),1,19)" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在XSL中转换日期格式

来自分类Dev

在XSL中转换日期格式

来自分类Dev

Java日期格式解析

来自分类Dev

解析多种格式的日期时间

来自分类Dev

Java英语日期格式解析

来自分类Dev

解析多个日期格式的熊猫

来自分类Dev

Android解析日期简单日期格式

来自分类Dev

我的 XML 输出与日期格式使用 XSL

来自分类Dev

无法解析`imap_check`日期格式

来自分类Dev

解析日期格式以加入配置单元

来自分类Dev

在Go中解析奇数JSON日期格式

来自分类Dev

C#解析日期为“ DDMMYYYY”格式?

来自分类Dev

解析日期和时间格式-Bash

来自分类Dev

如何解析此日期格式?

来自分类Dev

正确解析哪种Java日期格式?

来自分类Dev

无法将String解析为日期格式

来自分类Dev

简单日期格式,解析异常

来自分类Dev

日期格式和SimpleDateFormat的解析的()之间的区别

来自分类Dev

如何解析更改格式的德语日期?

来自分类Dev

在dart中解析任意日期格式

来自分类Dev

用奇怪的格式解析R中的日期

来自分类Dev

在Excel中解析日期/时间格式

来自分类Dev

SimpleDateFormat解析不以所需格式返回日期

来自分类Dev

解析非标准日期格式

来自分类Dev

以特定格式解析日期和时间

来自分类Dev

C#解析日期为“ DDMMYYYY”格式?

来自分类Dev

Java从TextField解析日期的格式不同

来自分类Dev

解析syslog日期格式的简单方法

来自分类Dev

如何按照以下格式解析日期