我正在读一个xml,在xml中有一个标签,如下所示..
<tradeRefId>10352684-2</tradeRefId>
现在它的价值也可以是..
&LT; 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所以请告知我该如何进行这样的检查 请指教
答案 0 :(得分:0)
它并不漂亮,但这应该有效:
<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适用于下划线,所以必要时替换。