首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从字符串到数字xslt

从字符串到数字xslt
EN

Stack Overflow用户
提问于 2016-01-29 15:09:04
回答 2查看 168关注 0票数 0

我想比较两个不同的日期,为了实现这一点,我想把它转换成数字。输入示例:

代码语言:javascript
运行
复制
<file>
                <date>2015-11-06 09:00/>
</file>
<history>
                <date>2016-01-12 10:00/>
</history>

首先我提取时间,从日期。并将结果放入变量中。

代码语言:javascript
运行
复制
   <xsl:for-each select="//item/metadata/document/file/date">          
            <xsl:variable name="d_log" 
                select="substring-before(., ' ')" as="xs:string"/>

因此,变量的值将是,例如,2015-11-06。下一步是,我想把2015-11-06年改造成20151106.

问题是我如何从一个字符串转换成一个数字?还是有更简单的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-29 16:04:29

你可以:

代码语言:javascript
运行
复制
translate(substring-before(., ' '), '-', '')

才能得到预期的号码。

但是,语法表明您正在使用XSLT2.0。如果是这样的话,为什么不将给定的字符串转换为xs:datexs:dateTime并进行比较呢?

票数 1
EN

Stack Overflow用户

发布于 2016-01-29 18:12:21

这是我的结果。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">
    <xsl:output method="xml" indent="yes"></xsl:output>
    <xsl:template match="/">

        <aaa>
            <xsl:for-each select="//item/metadata/document/file/date">          
            <xsl:variable name="d_log" 
                select="translate(substring-before(., ' '), '-', '')"
                 as="xs:string"/>

                <xsl:for-each select="../../history/log/date">
                    <xsl:variable name="d_doc" select="translate(substring-before(., ' '), '-', '')" as="xs:string"/>               
                <xsl:if test="$d_doc > $d_log">
                    <bb>
                    <xsl:value-of select="node()"/>
                    </bb>
                </xsl:if>         
            </xsl:for-each>
            </xsl:for-each>         
        </aaa>
    </xsl:template> 
</xsl:stylesheet>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35087714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档