XPath - クラスが1つしかないノードを選択する方法

.net c# html-agility-pack xml xpath

質問

C#のxpathでは、ノードがそのクラスを1つしか持たないクラスでノードを選択するにはどうすればよいですか?

たとえば、私はこれを持っていた:

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

"red"を指定したxpath式は2番目のノードのみを返します。

ありがとう。

人気のある回答

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 with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ