有没有办法找到一个值匹配的节点。
如果我有以下内容:
<competition id="100" name="Barclays Premier League"/>
<competition id="101" name="CocaCola Championship" />
<competition id="102" name="CocaCola League 1" />
鉴于字符串“Premier League”甚至是“Prem”,我如何匹配正确的节点并获得id 100.
我已经使用for-each和contains来管理它,但是效率非常低,并且不能满足我们的要求。
答案 0 :(得分:14)
答案 1 :(得分:6)
使用:
<强> //competition[contains(@name, 'Prem')]/@id
强>
在其他情况下,例如:starts-with()或ends-with()(仅限XPath 2.0)可能非常有用。
答案 2 :(得分:1)
还有一个“匹配”功能,它使用正则表达式,但这只适用于XSL 2.0。