繁体   English   中英

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

[英]XPath - How to select node that has only 1 class?

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

例如,如果我有这个:

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

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

谢谢。

只需使用此 XPath:

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

如果您想选择所有具有包含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']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM