2
HTML을 구문 분석 할 수있는 .NET 용 HTML 클리너가 있습니까 (예 : XHTML)?HTML 깔끔한 기능을 갖춘 관리되는 (.NET) 라이브러리?
HTML 민첩성 팩을 사용해 보았지만 정확히 구문 분석하지 못했습니다. fairlysimple 예제.
올바르게 해석되는 HTML의 예를 제공합니다 :<html><title>test</title>
<body>
<ul><li>TestElem1
<li>TestElem2
<li>TestElem3 List:
<ul><li>Nested1
<li>Nested2</li>
<li>Nested3
</ul>
<li>TestElem4
</ul>
<p>paragraph 1
<p>paragraph 2
<p>paragraph 3
</body></html>
li
태그 닫을 수 (see specification)가 필요하지 않습니다, 그리고 neither do P
tags.
<html><title>test</title>
<body>
<ul><li>TestElem1</li>
<li>TestElem2</li>
<li>TestElem3 List:
<ul><li>Nested1</li>
<li>Nested2</li>
<li>Nested3</li>
</ul></li>
<li>TestElem4</li>
</ul>
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
</body></html>
, 그것은 이러한 래퍼 주위 HTML Tidy로 다시 네이티브 코드 (에 가을해야하는 큰 단점이다 : 즉, 위의 샘플은 다음과 같이 해석한다) 샌드 박스 시나리오에서는 불가능한 것은 말할 것도없이 추가 배포 번거 로움과 플랫폼 독립성 희생이 필요합니다.
제안 사항? 내가 찾고 있어요, 다시 정리해 보면 :
- 깔끔한 HTML ALA는 HTML 청소기
- 실제 HTML을 처리 할 수 있어야뿐만 아니라 XHTML, 적어도 제대로 읽는 유효한 HTML 4 에서
- 보다 쉽게 처리 할 수있는 XML 형식으로 변환 할 수 있어야합니다.
- 순수하게 관리되는 응용 프로그램이어야합니다.
을, 내가 다시 비슷한 일을해야하는 경우, 내가 할게요 몰래 엿보다. 그러나 단지 2 주 전에 HTML 민첩성 팩에 선택적인 끝 태그에 대한 지원을 추가하기위한 패치를 작성했기 때문에 타이밍이 매우 놀랍습니다. http://htmlagilitypack.codeplex.com/workitem/29218 - 그것을 통합하면 그것이 될 것입니다. –
TidyManaged는 포트가 아닌 래퍼입니다. 그것은 실버 라이트 같은 것들에서 작동하지 않을 것이기 때문에 약간은 이해할 수 없으며, 컴파일시에 실행할 플랫폼을 알아야합니다. 그러나 많은 용도로 이러한 제한 사항은 문제가되지 않습니다. –
내 블로그에서 .Net을위한 HTML TidyLib 구현을 추가로 나열했습니다. http://geekswithblogs.net/mnf/archive/2011/06/08/implementations-of-html-tidylib-for-.net.aspx –