我正在读取一个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适用于下划线,因此请根据需要进行替换。