특성 값의 XPath 와일드 카드

c# html-agility-pack xpath

문제

클래스 범위의 특성과 일치하는 다음 XPath가 있습니다.

//span[@class='amount']

클래스 속성이 "amount"인 모든 요소를 ​​일치 시키려고하지만 다른 클래스도 가질 수 있습니다. 나는 내가 이것을 할 수 있다고 생각했다.

//span[@class='*amount*'] 

하지만 그건 작동하지 않습니다 ... 어떻게 이럴 수 있습니까?

수락 된 답변

다음 표현식을 사용하십시오.

//span[contains(concat(' ', @class, ' '), ' amount ')]

자체적으로 contains 를 사용할 수도 있지만 someamount 와 같은 클래스와도 일치합니다. 다음 입력에서 위의 표현식을 테스트하십시오.

<root>
  <span class="test amount blah"/>
  <span class="amount test"/>
  <span class="test amount"/>
  <span class="amount"/>
  <span class="someamount"/>
</root>

처음 4 개의 span 요소를 선택하지만 마지막 요소는 선택하지 않습니다.


인기 답변

contains 메소드를 사용해야합니다. 여기에 XPath contains () 사용 방법을 참조 하십시오.

//span[contains(@class,'amount')]




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.