在xslt中放入一个条件来处理下划线



我正在读取一个xml,在xml中有一个标记,如下所示。。

<tradeRefId>10352684-2</tradeRefId>

现在它的值也可以是。。

<tradeRefId>10353984</tradeRefId>

因此,为了从xml中提取这个标记,我编写了xsl,如下所示。。

<Contract_Id>
                <xsl:value-of select="eurr:tradeRefId"/>
                <!-- <xsl:value-of select="substring-before(eurr:tradeRefId, '-')" /> -->
                </Contract_Id> 

现在我想检查一下,如果在这个标签的值中,如果"_"即将到来,那么它就不应该被包括在内,所以10352684-2应该被视为10352684,所以请告诉我如何进行这样的检查请告知

它不漂亮,但应该可以工作:

<Contract_Id>
    <xsl:choose>
        <xsl:when test="contains(eurr:tradeRefId, '_')">
            <xsl:value-of select="substring-before(eurr:tradeRefId, '_')"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="eurr:tradeRefId"/>
        </xsl:otherwise>
    </xsl:choose>
</Contract_Id>

根据您的问题,我不确定您是否试图检测连字符:-或下划线_以上XSL适用于下划线,因此请根据需要进行替换。

相关内容

  • 没有找到相关文章