XPath - 如何选择只有1个类的节点?

时间:2012-11-23 03:31:41

标签: c# .net xml xpath html-agility-pack

对于c#上的xpath,如何按类选择节点,其中节点只有1个类?

例如,如果我有这个:

<span class="red blue"></span>
<span class="red"></span>

给出“red”的xpath表达式只返回第二个节点。

感谢。

2 个答案:

答案 0 :(得分:1)

只需使用此XPath:

//span[normalize-space(@class) = 'red']

答案 1 :(得分:1)

如果您要选择包含span的@class的所有red元素,并且您确定字符red不会出现在{{1}的其他位置在XPATH 1.0中使用它:

@class

如果红色可能出现在不同的课程中(例如说//span[contains(@class,'red')] ),则需要更复杂

centered

如果您可以使用XPATH 2.0,则可以考虑以下两种情况:

//span[contains(concat(' ', normalize-space(@class), ' '), ' red ')]