繁体   English   中英

如何让通配符在 XPath 属性值匹配中起作用?

[英]How can I get wildcards to work in XPath attribute value matching?

我有以下 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”的情况下返回“我的 Muppet 值”(字符串)。 我的猜测是:

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

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

有什么帮助吗?

我刚刚检查了这个在线 XPATH 评估员,它工作正常:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM