我正在从XML文件中获取格式为'20010101'的日期,并且尝试使用XSLT将其转换为日期格式以传递给oracle数据库。当前的XML是这样-
<expected_arrival_date>
<xsl:choose>
<xsl:when test="string-length(ASNHeaderFields/ShippedDate)>0">
<xsl:value-of select="concat($seperator, ASNHeaderFields/ShippedDate,
$seperator)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($seperator, $currenttime, $seperator)" />
</xsl:otherwise>
</xsl:choose>
</expected_arrival_date>
但是它只是插入一个空值。从测试中可以看到传递的值是20010101,所以我不确定为什么每次都会得到空值?
答案 0 :(得分:1)
我在样式表中看到的最大问题是,您在>
条件下使用test
。
>
字符是XML中的保留字符,因此您应该使用:
>
(XSLT 1/2)gt
(XSLT 2)