XSLT转换以检查一组节点是否至少具有一个匹配值

时间:2021-01-05 18:23:10

My XML Looks as follows: XSLT 1

我的XML看起来如下:XSLT 1

<Root>
  <Test>
    1
  </Test>
  <Test>
    2
  </Test>
</Root>

My XSLT expression is <xsl:value-of select="Test">

我的XSLT表达式是

This returns 1, as it just selects the first element.

这将返回1,因为它只选择第一个元素。

What I want is it to be True if any of the TestElements contains "2" and False if they don't.

我想要的是,如果任何TestElements包含“2”则为True,如果不包含则为False。

How can I accomplish this with a simple XSLT expression? Assume there can be 1 or many test elements.

如何使用简单的XSLT表达式实现此目的?假设可以有1个或多个测试元素。

1 个解决方案

#1


0  

use predicate to match text() of the element:

使用谓词来匹配元素的text():

<xsl:value-of select="Test[text()=2]" />

In a condition:

在一个条件:

<xsl:if test="Test[text()=2]">
</xsl:if>

#1


0  

use predicate to match text() of the element:

使用谓词来匹配元素的text():

<xsl:value-of select="Test[text()=2]" />

In a condition:

在一个条件:

<xsl:if test="Test[text()=2]">
</xsl:if>