3

希望那里的其他人为此使用 Altova Mapforce。

使用 XSLT 将一个 xml 转换为另一个,在源 XML 中,它们的日期为 M/D/YYYY,我需要将它们转换为标准的日期时间格式......好吧,一切。

所以,我正在使用 XSLT 的 tokenize 函数来拆分/获取我的部分,现在,我想参加第 1 部分并说今天到了,但不确定如何将 tokenize 表达式的结果分配给变量使用地图部队。

还有人这样做吗?或者更确切地说,将字符串日期转换为日期时间的最佳方法是什么?

感谢您的想法

编辑。我的输入是一个字符串 '1/31/2012' 并且我的输出需要是 xs:dateTime (或 xs:date,假设 xs:date 可以很容易地转换为 dateTime)

我有一个方法设置将字符串连接在一起并将它们转换为 YYYY-MM-DD 格式,但它仍然报告这对 dateTime 无效(Cast Failed, invalid lexical value 2012-1-31)

也许 YYYY-MM-DD 不是 dateTime 的有效格式?

4

3 回答 3

1

最终创建了一个组件来执行此操作。我的特殊问题是“2012-1-31”不能格式化为日期或日期时间,但是 2012-01-31 可以。所以这变得像在尝试转换为日期之前格式化数字和填充字符一样简单。

于 2012-06-25T15:10:01.780 回答
0

此示例使用 EXSLT(因为我无权访问 XSLT 2.0),但您明白了。

<xsl:variable name='date_parts' select='str:split(root/date, "/")' />
<xsl:value-of select='concat($date_parts[3],$date_parts[1],$date_parts[2])' />

你可以在这个 playgorund 会议上测试它

于 2012-06-22T23:32:48.457 回答
0

您可以使用库中的 xs:datetime / format-dateTime

于 2014-01-17T11:57:23.820 回答