같은 클래스의 두 번째 노드 가져 오기

c# html-agility-pack

문제

HtmlAgilityPack을 사용하여 일부 노드를 구문 분석하는 데 문제가 있습니다.

문제는 다음과 같습니다.

클래스 "test"가있는 노드가 많지만 두 번째 노드를 지정하고 싶습니다.

내가 이렇게하면 :

html.DocumentNode.SelectSingleNode ("//font[@class='test' and position()=1]")

그것은 내가 예상했던 값을 반환합니다 ...하지만 두 번째를 얻으려고하면 null을 돌려줍니다 ...하지만 질문은 .. 왜?

html.DocumentNode.SelectSingleNode ("//font[@class='test' and position()=1]")

이 코드 라인은 나에게 모두를 가져다주고, position () = 1을 사용하면 lib가 처음 것만 반환해야했기 때문에 지금은 정말로 혼란 스럽다. 맞습니까?

html.DocumentNode.SelectSingleNode ("//font[@class='test' and position()=1]")

고마워요!

수락 된 답변

올바른 코드는 다음과 같습니다.

html.DocumentNode.SelectSingleNode ("(//font[@class='test'])[2]")

사용한 코드는 부모 요소 모두의 서열에없는 첫 번째 또는 두 번째 요소 내의 첫 번째 또는 두 번째 시험 소자 선택 font 클래스의 요소 test .




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