使用XPath格式化日期

时间:2011-08-25 08:54:29

标签: xml soap xpath soapui

我有以下xpath表达式......

//ns:response[1]/ns:return[1]/legs[1]/startDate[1] (Value 01/01/2011)
//ns:response[1]/ns:return[1]/legs[1]/startTime[1] (Value 12:13)

我需要将这些值格式化并连接成类似这样的

2011-08-25T17:35:00

这可以使用xpath函数吗?一个例子将不胜感激。

输入数据中的日期格式为dd / mm / yyyy。

3 个答案:

答案 0 :(得分:4)

正如@Michael Key建议(+1)一样,三个substring()和一个concat()就是你所需要的。使用您要搜索的XPath检查此XSLT示例(使用变量使表达式可读):

<xsl:template match="/">
    <xsl:variable name="sD" select="'01/01/2011'"/>
    <xsl:variable name="sT" select="'12:13'"/>
    <xsl:value-of select="concat(
        substring($sD,7),'-',
        substring($sD,4,2),'-',
        substring($sD,1,2),'T',
        $sT,':00')"/>
</xsl:template>

答案 1 :(得分:3)

了解您的01/01/2011是d / m / y还是m / d / y会有所帮助。无论哪种方式,只需要调用substring()三次来提取数据部分,然后使用concat()来构建结果。

答案 2 :(得分:0)

查看XPath 1.0函数:concatsubstringsubstring-beforesubstring-after