C #에서 H1 태그간에 HTML 텍스트를 가져 오는 방법

c# html html-agility-pack

문제

HTML 문서를 구문 분석하여 모든 H1 태그와 그 사이의 모든 HTML을 추출해야합니다. 나는 HtmlAgilityPack을 가지고 놀아 왔으며 성공을 거두었습니다. 다음을 사용하여 모든 H1 태그를 추출 할 수있었습니다.

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h1"))

그러나 어떻게하면 다음 H1 태그를 칠 때까지 모든 H1 태그 다음에 모든 HTML을 추출합니까? 이 HTML은 표 / 이미지 / 링크 또는 HTML 페이지의 다른 요소를 포함 할 수 있지만 H1 태그는 포함 할 수 있습니다.

미리 감사드립니다.

인기 답변

가능한 해결책 : 완전한 HTML을 String으로 가져오고 <H1>을 HTML이 모르는 부호 (예 : ü, HTML은 & uuml;을 사용)로 바꾼 다음이 기호로 문자열을 배열로 분할합니다.

이제 시작 및 종료 태그가있는 노드를 검색하여 (예 : RegEx를 사용하여) 구문 분석 만합니다.

빠르고 지저분하지만 작동해야합니다.

drachenstern이 언급했듯이 중첩 된 H1-Tags는 부모 노드가 파싱되지 않도록합니다.




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