【发布时间】:2012-01-27 00:55:40
【问题描述】:
我有以下 XPath 来匹配类跨度的属性:
//span[@class='amount']
我想匹配所有具有“数量”类属性但也可能具有其他类的元素。我想我可以这样做:
//span[@class='*amount*']
但这不起作用...我该怎么做?
【问题讨论】:
标签: c# xpath html-agility-pack
我有以下 XPath 来匹配类跨度的属性:
//span[@class='amount']
我想匹配所有具有“数量”类属性但也可能具有其他类的元素。我想我可以这样做:
//span[@class='*amount*']
但这不起作用...我该怎么做?
【问题讨论】:
标签: c# xpath html-agility-pack
使用以下表达式:
//span[contains(concat(' ', @class, ' '), ' amount ')]
您可以单独使用contains,但这也可以匹配someamount 之类的类。在以下输入上测试上述表达式:
<root>
<span class="test amount blah"/>
<span class="amount test"/>
<span class="test amount"/>
<span class="amount"/>
<span class="someamount"/>
</root>
它将选择前四个span 元素,但不会选择最后一个。
【讨论】:
你需要使用 contains 方法。见How to use XPath contains() here?
//span[contains(@class,'amount')]
【讨论】:
class="lookamountain"。 @lwburk 有正确的答案。