【发布时间】:2021-07-27 12:37:08
【问题描述】:
在下面的示例中,我们尝试将“日期”从一种格式转换为另一种格式,例如希望转换为 UTC 格式。 2021-07-26T18:37:15.490Z
谁能帮忙。
输入 XML:
<?xml version="1.0" encoding="UTF-8"?>
<date>
<finish_dstamp>20190716140831</finish_dstamp>
</date>
现有输出:
<?xml version="1.0" encoding="UTF-8"?>
<date>
<finish_dstamp>20190716140831</finish_dstamp>
</date>
XSLT 代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
20190716140831代表着什么样的价值? -
@Martin Honnen - 它代表“YYYYMMDDHHMMSS”格式
-
但是在您的问题中,您将输入格式示例提供为
20190716140831,但将结果格式示例提供为2021-07-26T18:37:15.490Z,这些值不相关吗?如果输入的所有值都不是YYYY-MM-DDTHH:MM:SS格式,则xs:dateTime构造函数需要您可以使用具有正确模式的replace函数来提取子组件和插入-或@ 的正确替换字符串987654332@ 或:子组件之间的分隔符。 -
@Martin Honnen - 是的,我分享了结果作为示例。并且想要转换输入应该看起来像它。请建议
标签: xml xpath xslt-1.0 xquery xslt-2.0