我有這種格式的XML文件中的字段的日期值:如何日期時間轉換爲ISO 8601格式
<date>2017-05-01 00:00:00</date>
我想將其轉換成標準的XSD格式:
2017-05-01T00:00:00.000Z
我目前使用3.0版本。
我的樣式表
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="3.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:apply-templates select="node()" />
</xsl:template>
<xsl:variable name="theDate" select="/item/date" />
<xsl:template match="/" name="xsl:initial-template">
<Bundle>
<thedate>
<xsl:attribute name="value"><xsl:value-of select="$theDate"/></xsl:attribute>
</thedate>
</Bundle>
</xsl:template>
XML輸入
<?xml version="1.0" encoding="UTF-8"?>
<item>
<date>2017-05-01 00:00:00</date>
</item>
想輸出看起來像這樣
<?xml version="1.0" encoding="UTF-8"?>
<Bundle xmlns:xs="http://www.w3.org/2001/XMLSchema">
<thedate value="2017-05-01T00:00:00.000Z"/>
</Bundle>
你擁有的是*字符串*,而不是日期或日期時間。只需將空間轉換爲「T」並添加一個「Z」即可完成。 –
謝謝邁克爾。翻譯做了魔術。 。000Z –
user1998820