Xml XSLT只执行一次应用模板
XSLT-Xml XSLT只执行一次应用模板,xml,xslt,apply-templates,Xml,Xslt,Apply Templates,XSLT- 输入XML- <Address> <xsl:apply-templates select="Orders/Rows/Row[addres_no/number = $addr_no]" /> </Address> 1. 1. 3. 在上面的示例中,如果地址号与addr_no变量值匹配,我将执行一个模板 我希望“应用模板”只执行一次,即使找到多个匹配项 例如,如果$addr_no=1,它将找到两个匹配项,但我只想得到第一个可用项 我试过了-
输入XML-
<Address>
<xsl:apply-templates select="Orders/Rows/Row[addres_no/number = $addr_no]" />
</Address>
1.
1.
3.
在上面的示例中,如果地址号与addr_no变量值匹配,我将执行一个模板
我希望“应用模板”只执行一次,即使找到多个匹配项
例如,如果$addr_no=1,它将找到两个匹配项,但我只想得到第一个可用项
我试过了-
<Orders>
<Rows>
<Row>
<addres_no>
<number>1</number>
</addres_no>
</Row>
<Row>
<addres_no>
<number>1</number>
</addres_no>
</Row>
<Row>
<addres_no>
<number>3</number>
</addres_no>
</Row>
</Rows>
</Orders>
但这不起作用。添加
[1]
应该会起作用。请发表一篇文章,以便我们重现您的问题。您的实际XML中是否有多个行
元素?在这种情况下,您应该尝试执行
添加[1]
操作。请发表一篇文章,以便我们重现您的问题。您的实际XML中是否有多个行
元素?在这种情况下,您应该尝试执行
<xsl:apply-templates select="Orders/Rows/Row[addres_no/number = $addr_no][1]" />