Форматирование дат с помощью XPath

У меня есть следующие выражения 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? Пример приветствуется.

Формат даты во входных данных — дд/мм/гггг.


person Remotec    schedule 25.08.2011    source источник
comment
Какую версию XPath вы используете?   -  person Kirill Polishchuk    schedule 25.08.2011
comment
Не уверен, что это включено в SoapUI 4.0.   -  person Remotec    schedule 25.08.2011


Ответы (3)


Согласно предложению @Michael Key (+1), три substring() и один concat() - это все, что вам нужно. Проверьте этот пример XSLT, используя XPath, который вы ищете (использование переменных, чтобы сделать выражение читаемым):

<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>
person Emiliano Poggi    schedule 25.08.2011
comment
Привет, не могли бы вы уточнить, как и где вы реализовали это в SOAPUI? - person Chanakya; 06.04.2012

Было бы полезно узнать, является ли ваше 01/01/2011 д/м/г или м/д/г. В любом случае, это всего лишь вопрос трехкратного вызова substring() для извлечения частей данных, а затем concat() для создания результата.

person Michael Kay    schedule 25.08.2011

Посмотрите на функции XPath 1.0: concat, substring, substring-before, substring-after.

person Kirill Polishchuk    schedule 25.08.2011