2008-10-30 2 views
3

C#에서 HTML 조각을 파싱하는 가장 좋은 방법은 무엇입니까?HTML 조각 파싱

문맥에서, 나는 많은 복합 컨트롤을 사용하는 응용 프로그램을 상속 받았지만 괜찮은 컨트롤은 상당히 무서운 리터럴 컨트롤의 긴 시퀀스를 사용하여 렌더링됩니다. 응용 프로그램을 단위 테스트로 가져 오려고 노력 중입니다. 이러한 컨트롤을 잘 작성된 HTML을 생성하는지, 그리고 꿈꾸는 솔루션에서 HTML을 검증하는지 테스트 할 것입니다.

+0

답변이 실제로 가장 좋은 답변 인 경우 질문 제목은 HTML을 파싱하지 않고 XML을 반영하도록 편집해야한다고 생각합니다. –

답변

1

HTML이 XHTML과 호환되는 경우 기본 제공 System.Xml 네임 스페이스를 사용할 수 있습니다.

3

HTMLAgility 팩을 살펴보십시오. .NET XmlDocument 클래스와 매우 호환되지만 깨끗하고 유효한 XHTML이 아닌 HTML에 대해서는 훨씬 더 관대합니다.

+0

그 라이브러리는 너무 좋아 보인다 - 코드를 테스트 중이므로 태그를 열어 파서를 열면 좋은 일이다. –

+0

코드를 수정하고 XHTML을 출력하도록 할 수 있습니다. 그런 다음 입력 및 출력을 비교합니다. –

1

나는 SGMLReader을 사용하여 HTML에서 유효한 XML 문서를 생성 한 다음 XPath 또는 XSLT를 사용하여 다른 형식으로 필요한 것을 구문 분석했습니다. .

-1

또한 HTML 구문 분석/정리를 위해 HTML Tidy을 조사 할 수 있습니다. 특정 .NET 라이브러리가 있다고는 생각하지 않지만 명령 행 또는 Java 라이브러리의 IKVM을 통해 바이너리를 실행할 수 있습니다.