xml – 如何从dateTime值获取时间?

我有一个 XML属性,< EventDate> 2011-06-16 08:00:00< / EventDate>我想使用XSLT提取08:00:00.

由于w3schools,我看到有fn:hours-from-dateTime(datetime).所以我想知道,为什么没有fn:time-from-dateTime(datetime)?

我该如何使用它?我目前的代码是:

<td><xsl:value-of select="@EventDate"/></td>

哪个正确显示日期时间.但是:

<td><xsl:value-of select="hours-from-dateTime(@EventDate)"/></td>

不行.

最后,有什么比做更优雅:

<td><xsl:value-of select="hours-from-dateTime(@EventDate)"/>:
<xsl:value-of select="minutes-from-dateTime(@EventDate)"/>:
<xsl:value-of select="seconds-from-dateTime(@EventDate)"/></td>

解决方法

只需使用强制转换或构造函数

<xsl:value-of select="xs:time(@dateTime)"/>

这假设属性@dateTime的类型为xs:dateTime,这是模式处理的结果.如果您没有运行架构感知处理器,则需要先将其强制转换为xs:dateTime:

<xsl:value-of select="xs:time(xs:dateTime((@dateTime))"/>

当然,日期和时间之间的空间需要是“T”才能实现.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念