Xslt 在XSL1.0中将字符串格式从9:00:00(H:MM:SS)转换为9:00(H:MM)
XSL 1.0中的时间格式更改有问题 我有一段时间: 9:00:00(HH:MM:SS) 但希望它显示为: 9:00(HH:MM) 不确定它是否有区别,但该字段在我的表中存储为字符串,因此我认为需要修剪最后三个字符,:00 谢谢你的帮助 迄今为止的代码:Xslt 在XSL1.0中将字符串格式从9:00:00(H:MM:SS)转换为9:00(H:MM),xslt,xslt-1.0,Xslt,Xslt 1.0,XSL 1.0中的时间格式更改有问题 我有一段时间: 9:00:00(HH:MM:SS) 但希望它显示为: 9:00(HH:MM) 不确定它是否有区别,但该字段在我的表中存储为字符串,因此我认为需要修剪最后三个字符,:00 谢谢你的帮助 迄今为止的代码: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<xsl:output method="html" encoding="UTF-8" indent="yes" omit-xml-declaration="yes" />
<xsl:template match="/">
<xsl:for-each select="...">
<xsl:value-of select="Prop[@prop_name = 'time']/@val" /><br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
假设字符串实际上是“9:00:00”,并且HH:MM:SS只是添加到问题中的标签,那么最简单的解决方案可能就是使用子字符串
<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
但是,如果字符串的字面意思是“9:00:00(HH:MM:SS)”,则后者可以工作
要将此应用于样式表,只需替换此
<xsl:value-of select="Prop[@prop_name = 'time']/@val" /><br />
用这个
<xsl:variable name="time" select="Prop[@prop_name = 'time']/@val" />
<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
<br />
感谢Tim C抽出时间回复。当前有:
下面的内容看起来正确吗
我已经修改了我的答案,以展示如何使我的答案适应您的XSLT。谢谢Tim C。我将测试并报告。感谢时间!
<xsl:variable name="time" select="Prop[@prop_name = 'time']/@val" />
<xsl:value-of select="substring($time, 1, string-length($time) - 3)" />
<br />