对于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']]