我有以下的XPath匹配類範圍的屬性:XPath的通配符屬性值
//span[@class='amount']
我想匹配的是有「量」的類屬性的所有元素,但也可能有其他類作爲好。我以爲我可以做到這一點:
//span[@class='*amount*']
但這不起作用......我該怎麼做?
我有以下的XPath匹配類範圍的屬性:XPath的通配符屬性值
//span[@class='amount']
我想匹配的是有「量」的類屬性的所有元素,但也可能有其他類作爲好。我以爲我可以做到這一點:
//span[@class='*amount*']
但這不起作用......我該怎麼做?
使用下面的表達式:
//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?和http://www.exampledepot.com/egs/org.w3c.dom/xpath_GetElemByAttr.html
//span[contains(@class,'amount')]
不幸的是,這也會匹配'class =「lookamountain」'。 @lwburk有正確的答案。 – 2011-12-23 23:48:11
這正是我要找的,非常感謝。 – 2011-12-23 19:42:15
如果假設,我想檢索span標籤內的文本內容,那麼代碼是什麼。我將結果存儲在nodelist中,並試圖使用nodelist.item(0).getFirstChild()。getNodeValue()來打印內容。但是這不會返回任何東西。請幫助我。 – TheGaME 2014-11-04 17:15:23
它的工作...!謝謝 – 2016-04-07 04:31:58