2010-08-18 3 views
0

У меня есть структуру XML:Как извлечь этот формат даты в XSLT

<Date>Mon, 11 Aug 2009 13:15:10 GMT</Date> 

я хочу, чтобы извлечь только 13:15 или «13» и «15». Каков наилучший способ сделать это с помощью xslt

+0

Да, в этом случае его возвращающая подстрока после:, здесь я не могу использовать это – Wondering

ответ

0

Это простая модификация от my answer в вашем предыдущем вопросе, так что все равно упомянутые ограничения применяются и здесь.

<xsl:variable name="time" select="substring(Date, string-length(substring-before(Date, ':') - 1, 5)"/> 
0

Если вы можете использовать XPath 2.0, вы можете использовать разметить():

XML

<?xml version="1.0" encoding="UTF-8"?> 
<Date>Mon, 11 Aug 2009 13:15:10 GMT</Date> 

XSLT

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="text"/> 

    <xsl:template match="/Date"> 
    <xsl:value-of select="tokenize(tokenize(.,' ')[5],':')[position() &lt; 3]"/> 
    </xsl:template> 

</xsl:stylesheet> 

ВЫВОД

13 15 
Смежные вопросы