2011-12-23 53 views
17

我有以下的XPath匹配類範圍的屬性:XPath的通配符屬性值

//span[@class='amount'] 

我想匹配的是有「量」的類屬性的所有元素,但也可能有其他類作爲好。我以爲我可以做到這一點:

//span[@class='*amount*'] 

但這不起作用......我該怎麼做?

回答

28

使用下面的表達式:

//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元素,但不是最後一個。

+0

這正是我要找的,非常感謝。 – 2011-12-23 19:42:15

+0

如果假設,我想檢索span標籤內的文本內容,那麼代碼是什麼。我將結果存儲在nodelist中,並試圖使用nodelist.item(0).getFirstChild()。getNodeValue()來打印內容。但是這不會返回任何東西。請幫助我。 – TheGaME 2014-11-04 17:15:23

+0

它的工作...!謝謝 – 2016-04-07 04:31:58