希望其他人使用Altova Mapforce。
使用XSLT将一个xml转换为另一个xml,在源XML中,它们的日期为M / D / YYYY,我需要将它们转换为...使用的标准日期时间格式。
所以,我正在使用XSLT的tokenize函数来分割/获取我的部分,现在,我想参加第1部分并说它是当天,但不知道如何分配tokenize表达式的结果使用MapForce来变量。
其他人这样做了吗?或者更确切地说,将字符串日期转换为日期时间的最佳方法是什么?
感谢您的想法
EDIT。我的输入是一个字符串'1/31/2012',我的输出需要是xs:dateTime(或xs:date,假设xs:date可以很容易地转换为dateTime)
我有一个方法设置来将字符串连接在一起并将它们转换为YYYY-MM-DD格式,但它仍然报告这对dateTime无效(Cast Failed,无效的词汇值2012-1-31)
也许YYYY-MM-DD不是dateTime的有效格式?
答案 0 :(得分:1)
结束创建组件来执行此操作。我的特殊问题是“2012-1-31”无法格式化为日期或日期时间,但2012-01-31可以。因此,在尝试转换为日期之前,这就像格式化数字和填充字符一样简单。
答案 1 :(得分: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])' />
进行测试
答案 2 :(得分:0)
您可以使用库中的xs:datetime / format-dateTime