XPath : 다음 (또는 이전) 형제가 몇 가지 기준과 일치하는 노드를 선택할 수 있습니까?

html html-agility-pack xpath

문제

Agility Pack을 사용하여 HTML 문서를 다시 포맷하는 중이며 XPath에 대한 이해가 부족합니다.

함께 작업하는 문서에서 다음은 일반적인 구문입니다.

128 2

이것은 다음과 같이 구축됩니다.

128<img src="" style="display: none;" alt="^(" /><sup>2</sup><img src="" style="display: none;" alt=")" />

따라서 클립 보드를 선택하고 클립 보드에 복사하면 다음과 같이 바뀝니다.

128 ^ (2)

자,이 img 태그를 제거하기 위해 XPath를 사용하고 싶습니다.

여기 내가 지금까지 가지고있는 것이있다.

128<img src="" style="display: none;" alt="^(" /><sup>2</sup><img src="" style="display: none;" alt=")" />

즉각적인 형제의 존재를 기반으로 요소를 선택하려면 어떻게해야합니까?

수락 된 답변

분명히 다음과 같은 것입니다 :

//img[@alt='^(' and following-sibling::*[1][self::sup]]

그것은 (그리고, 나는 여기서 추측하고있다) :

//img[@alt='^(' and following-sibling::*[1][self::sup]]

img (어디서나) ...

//img[@alt='^(' and following-sibling::*[1][self::sup]]

... 누구의 alt 속성이 '^(' and ...

//img[@alt='^(' and following-sibling::*[1][self::sup]]

... 첫 번째 형제 자매 중 누구 ...

//img[@alt='^(' and following-sibling::*[1][self::sup]]

... 자체를 호출 할 수 있습니다 sup .


인기 답변

내 머리 꼭대기에서, 그것을 복합 조건으로 만드십시오. 같은 것 :

//img[@alt='^('  ???/sup AND preceding-sibling::*[1] AND following-sibling::*[1]]



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