Pour xpath sur c #, comment puis-je sélectionner un nœud par classe où le nœud n'a que cette classe?
Par exemple, si j'avais ceci:
<span class="red blue"></span>
<span class="red"></span>
L'expression xpath donnée "rouge" ne renverra que le second nœud.
Merci.
Si vous souhaitez sélectionner tous les éléments span
ayant un @class contenant du red
et que vous êtes sûr que la chaîne red
n'apparaîtra pas ailleurs dans le @class
utilisez ceci dans XPATH 1.0:
//span[contains(@class,'red')]
Si le rouge peut apparaître dans une classe différente (par exemple centered
), vous devrez vous complexifier.
//span[contains(concat(' ', normalize-space(@class), ' '), ' red ')]
Si vous pouvez utiliser XPATH 2.0, vous pouvez prendre en compte les deux cas suivants:
//span[tokenize(@class,'\s+')[. eq 'red']]