XPath - 단 하나의 클래스가있는 노드를 선택하는 방법?

.net c# html-agility-pack xml xpath

문제

C #의 xpath의 경우 노드가 해당 클래스를 하나만 가진 클래스로 노드를 선택할 수 있습니까?

예를 들어, 내가 이것을 가지고 있다면 :

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

"red"가 주어진 xpath 표현식은 두 번째 노드 만 반환합니다.

감사.

인기 답변

모든 선택하려는 경우 span 이 포함 된 @class이 요소 red 당신은 문자열 확신합니다 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는 합법적입니까? 예, 이유를 알아보십시오.