如何在xslt中转换日期格式。我创建了如下所示的应用程序
2015-01-06T17:51:01.67 + 05:30
选择= “格式的dateTime(TravellerRequest / RequestDate, '[M01] / [D01] / [Y0001]')”/>
异常详细信息:System.Xml.Xsl.XsltException:'format-dateTime()'是一个未知的XSLT函数。
来源错误:
执行期间生成了未处理的异常 当前的网络请求。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
我需要这样的输出:01/06/2015
如何将上述日期时间格式转换为mm / dd / yyyy。
引导我。
谢谢, 拉姆...
答案 0 :(得分:1)
format-dateTime()
是一个XSLT 2.0函数。您的错误消息表明您使用的是XSLT 1.0处理器。 XSLT 1.0无法识别日期 - 但您可以使用字符串函数将日期重新排列为所需的格式:
<xsl:value-of select="substring(TravellerRequest/RequestDate, 9, 2)"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="substring(TravellerRequest/RequestDate, 6, 2)"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="substring(TravellerRequest/RequestDate, 1, 4)"/>
注意:强> 如果您使用的是Microsoft处理器(由Martin Honnen建议),请参阅: https://msdn.microsoft.com/en-us/library/ms256099%28v=vs.110%29.aspx
答案 1 :(得分:0)
该函数需要一个XSLT 2.0处理器,如Saxon 9或XmlPrime。基于消息System.Xml.Xsl.XsltException
,您似乎使用Microsoft XSLT处理器,Microsoft仅支持XSLT 1.0。因此,您需要更改应用程序以使用第三方XSLT 2.0处理器,或者需要考虑使用.NET扩展对象或函数与Microsoft的XSLT处理器,以将格式委派给.NET代码,而不是XSLT代码。