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

时间:2009-06-17 23:01:36

标签: 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>

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

/root/foo[contains(bar/@type,'MUPPET')]/value/text()

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

任何帮助?

2 个答案:

答案 0 :(得分:5)

我刚刚使用这个在线XPATH评估器进行了检查,它运行正常:

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

答案 1 :(得分:0)

您确定XPath没有名称空间问题吗?