2011-01-22 4 views
1

꽤 복잡한 HTML에서 텍스트를 가져와야한다는 요구 사항이 있습니다. 페이지의 첫 번째 목록에서 세 번째 목록 항목이 필요하다고 가정 해 보겠습니다. 리의 태그를 닫을 수도 있고 아닐 수도 있습니다. 혼합 된 경우이거나 클래스가있을 수 있습니다.지저분한 HTML에서 요소를 추출하는 데 사용할 수있는 클래스가 있습니까?

콘솔 응용 프로그램에서 클래스 (DOMDocument ???)를 사용할 수 있는지 궁금합니다. HTML을 DOM에로드하면 최소한 위생적으로 약간의 위생을 일으킨다. 그런 다음 거기에서 파싱한다.

이 이미 해결해야 뭔가 것 같아,하지만 난 http://www.vsj.co.uk/articles/display.asp?id=389

이 좋은 방법 인 경우에 어떤 생각과 올바른 클래스가 될 것 조사하기 위해이 빈티지 정규식 솔루션을 제외하고도 관련 아무것도 발견되지했습니다 고맙습니다.

+2

체크 아웃 http://stackoverflow.com/questions/653357/html-parsing-libraries-for-net - 'HTMLAgilityPack'을 사용할 때의 대답은 제가 아는 가장 쉽고 간단한 접근 방법입니다. – InSane

답변

4

Html Agility Pack은 DOM 방식으로 '지저분한'HTML로 작업하는 데 사용할 수 있습니다.

+0

그 자리에 보이는 군! - 테스트 ... – Andiih

+0

[Regex를 사용하여 Html을 분석하는 방법]조차하지 마십시오 (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454# 1732454)! :) –

+0

나는 가지 않을 예정이었다. HTML은 거의 모든 경우에서 벗어나 이루어집니다! – Andiih

관련 문제