转换日期fromat在XML响应收到,而使用XSLT转换
问题描述:
XML收到转换日期fromat在XML响应收到,而使用XSLT转换
<ns15:ReferenceEffectiveDate>
<ns12:Year>2016</ns12:Year>
<ns12:Month>7</ns12:Month>
<ns12:Day>20</ns12:Day>
</ns15:ReferenceEffectiveDate>
.
.
.
.
.
.
.
.
<ns15:ReferenceEffectiveDate>
<ns12:Year>2016</ns12:Year>
<ns12:Month>7</ns12:Month>
<ns12:Day>20</ns12:Day>
</ns15:ReferenceEffectiveDate>
这是迄今为止在从Web服务我的回应XML收到的类型写入文本文件。
当月和日为单个数字时,我一直在接收日期格式为YYYYMD。和YYYYMMDD当月和日是两位数。
我想通过XSLT转换获得格式为YYYYMMDD。
目前我使用
<xsl:template match="/">
<xsl:for-each select......(sometext which cannot be written)>
<xsl:value-of select="ns2:ReferenceEffectiveDate"/>
<xsl:value-of select="$line-separator"/>
</xsl:for-each>
</xsl:template>
请帮助我如何能得到固定的格式拉动。
电流输出收到的样子
2016630
2016630
2016630
2016630
2016630
2016630
2016630
所需的输出是
20160630
20160630
20160630
20160630
20160630
答
这是很难准确地回答你的问题,因为上下文丢失了,一般情况下,你需要做的是这样的:
<xsl:for-each select="ns15:ReferenceEffectiveDate">
<xsl:value-of select="ns12:Year"/>
<xsl:value-of select="format-number(ns12:Month, '00')"/>
<xsl:value-of select="format-number(ns12:Day, '00')"/>
<xsl:text> </xsl:text>
</xsl:for-each>
它给出的输出为 NaNNaN NaNNaN NaNNaN NaNNaN – shamsul
这是可能的,因为你没有发布[mcve],我不得不猜测一些部分。但原则是正确的 - 看到它在这里工作:http://xsltransform.net/94AbWAz –