我输入xml为
<content>
<date>
<day>14</day>
<month>06</month>
<year>2012</year>
</date>
</content>
希望将其转换为
<content>
<date>2012-06-14T00:00:00</date>
</content>
xslt使用
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="content">
<content>
<xsl:apply-templates select="date"/>
</content>
</xsl:template>
<xsl:template match="date">
<date>
<xsl:variable name="year" select="year"/>
<xsl:variable name="month" select="month"/>
<xsl:variable name="day" select="day"/>
<xsl:value-of select="$year" />-<xsl:value-of select="$month"/>-
<xsl:value-of select="$day"/>
</date>
</xsl:template>
</xsl:stylesheet>
我希望日期在YYYYMMDDTHH:MM:SS格式为例2012-06-15T02:52:37我怎样才能得到它。在xslt&#34; 1.0&#34;中的哪个函数pics字符串并采用格式模式。 aynone可以帮助我获得上述格式。
答案 0 :(得分:1)
此转化:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<content>
<xsl:apply-templates/>
</content>
</xsl:template>
<xsl:template match="date">
<date>
<xsl:value-of select="concat(year, '-', month, '-', day, 'T00:00:00')"/>
</date>
</xsl:template>
</xsl:stylesheet>
应用于提供的XML文档:
<content>
<date>
<day>14</day>
<month>06</month>
<year>2012</year>
</date>
</content>
生成想要的正确结果:
<content>
<date>2012-06-14T00:00:00</date>
</content>