對於c#上的xpath,我如何按類選擇節點,其中節點只有1個類?
例如,如果我有這個:
<span class="red blue"></span>
<span class="red"></span>
給出“red”的xpath表達式只返回第二個節點。
謝謝。
如果你想選擇所有包含red
的@class的span
元素,並且你確定字符串red
不會出現在@class
其他地方,請在XPATH 1.0中使用它:
//span[contains(@class,'red')]
如果紅色可能出現在不同的類別中(比如說centered
),則需要變得更複雜
//span[contains(concat(' ', normalize-space(@class), ' '), ' red ')]
如果你可以使用XPATH 2.0,你可以考慮這兩種情況:
//span[tokenize(@class,'\s+')[. eq 'red']]