如何在XPath属性值匹配中使用通配符?

Jam*_*sen 5 xml xpath

我有以下XML:

<root>
  <foo>
    <bar type="a whole bunch of stuff, then a magic string: MUPPET" />
    <value>my Muppet value</value>
  </foo>
  <foo>
    <bar type="some other stuff, then a different magic string: GREMLIN" />
    <value>my Gremlin value</value>
  </foo>
</root>
Run Code Online (Sandbox Code Playgroud)

我想构建一个XPath查询,在查看魔术字符串"MUPPET"时返回"my Muppet value"(字符串).我的猜测是:

/root/foo[contains(bar/@type,'MUPPET')]/value/text()
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我真的不确定该contains(x,y)运算符是否允许查询作为第一个参数.作为一个侧面问题,我不确定我是否需要text()最终.

有帮助吗?

Bag*_*get 5

我只是检查了这个在线XPATH评估器,它工作正常:

http://www.mizar.dk/XPath/Default.aspx