2010-04-27 4 views
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 형식으로 변환 할 수 있어야합니다.
  • 순수하게 관리되는 응용 프로그램이어야합니다.

답변

1

시도 TidyManaged. 내가 TidyManaged을 보지 못했다

+0

을, 내가 다시 비슷한 일을해야하는 경우, 내가 할게요 몰래 엿보다. 그러나 단지 2 주 전에 HTML 민첩성 팩에 선택적인 끝 태그에 대한 지원을 추가하기위한 패치를 작성했기 때문에 타이밍이 매우 놀랍습니다. http://htmlagilitypack.codeplex.com/workitem/29218 - 그것을 통합하면 그것이 될 것입니다. –

+0

TidyManaged는 포트가 아닌 래퍼입니다. 그것은 실버 라이트 같은 것들에서 작동하지 않을 것이기 때문에 약간은 이해할 수 없으며, 컴파일시에 실행할 플랫폼을 알아야합니다. 그러나 많은 용도로 이러한 제한 사항은 문제가되지 않습니다. –

+0

내 블로그에서 .Net을위한 HTML TidyLib 구현을 추가로 나열했습니다. http://geekswithblogs.net/mnf/archive/2011/06/08/implementations-of-html-tidylib-for-.net.aspx –

관련 문제