希望其他人能使用Altova Mapforce来做这件事。
使用XSLT将一个xml转换为另一个XML,在源XML中,它们的日期为M/D/YYYY,我需要将它们转换为..使用的标准日期时间格式。嗯,所有的一切。
所以,我正在尝试使用XSLT的标记化函数来拆分/获取我的部分,现在,我想学习第1部分,并说就是这一天,但是不确定如何使用MapForce将标记化表达式的结果赋给变量。
还有别的人这么做吗?或者,将字符串日期转换为日期时间的最佳方法是什么?
谢谢你的点子
编辑。我的输入是一个字符串'1/31/2012‘,我的输出需要是xs:dateTime (或者xs:date,假设xs:date可以很容易地转换成dateTime)
我已经设置了一个方法来将字符串连接在一起,并将它们转换为YYYY-MM-DD格式,但它仍然报告这对dateTime无效(转换失败,无效词汇值2012-1-31)
也许YYYY-MM-DD不是dateTime的有效格式?
发布于 2012-06-25 23:10:02
最终创建了一个组件来实现这一点。我的特别问题是'2012-1-31‘不能格式化为日期或dateTime,但2012-01-31可以。因此,这变得很简单,只需格式化数字并在尝试转换为日期之前填充字符。
发布于 2012-06-23 07:32:48
本例使用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])' />你可以在this playgorund session上测试它
发布于 2014-01-17 19:57:24
您可以使用库中的xs:datetime / format-dateTime
https://stackoverflow.com/questions/11165094
复制相似问题