您好我将xml文件作为:
<order><Extension Properties><Date>2009-08-04T17:09:04.593+05:30</Date></Extension Properties></Order>
我希望输出为
生成日期040809
我想通过xslt.Please帮助来做到这一点。!!
答案 0 :(得分:1)
一种方法是使用子字符串函数:
<xsl:variable name="d" select="/order/Extension/Date" />
Generation Date <xsl:value-of select="concat(
substring($d, 9, 2),
substring($d, 6, 2),
substring($d, 3, 2))"/>
其他答案可能取决于您使用的XSL引擎。例如,如果您使用的是MSXML,则可以使用日期时间扩展函数:
<?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">
<xsl:output method="xml" />
<xsl:template match="/">
<xsl:template match="Date">
<xsl:variable name="d" select="/order/Extension/Date" />
Generation Date
<xsl:value-of select="ms:format-date($d, 'ddMMyy')"/>
</xsl:template>
</xsl:stylesheet>
祝你好运!
答案 1 :(得分:0)
<xsl:variable name="dateString" select="order/Extension/Date/> (or something along those lines)
<xsl:value-of select="substring($date,9,10)"><xsl:value-of select="substring($date,6,7)"><xsl:value-of select="substring($date,1,4)">
答案 2 :(得分:0)
使用this作为指南...
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<order>
<xsl:element name="GenerationDate">
<xsl:call-template name="FormatDate">
<xsl:with-param name="DateTime" select="order/Extension/Date"/>
</xsl:call-template>
</xsl:element>
</order>
</xsl:template>
<xsl:template name="FormatDate">
<xsl:param name="DateTime" />
<xsl:variable name="day">
<xsl:value-of select="substring($DateTime,9,2)" />
</xsl:variable>
<xsl:variable name="month">
<xsl:value-of select="substring($DateTime,6,2)" />
</xsl:variable>
<xsl:variable name="year">
<xsl:value-of select="substring($DateTime,3,2)" />
</xsl:variable>
<xsl:value-of select="$day"/>
<xsl:value-of select="$month"/>
<xsl:value-of select="$year"/>
</xsl:template>
</xsl:stylesheet>