2016-09-12 3 views
1

을 자기가 포함 된 HTML 조각을 파싱 태그 폐쇄AngleSharp 처리자가 폐쇄 태그

<tag> and another <tag></tag></tag> 

내가 아는 그 anglesharp이 없습니다 "렌더링"않습니다를 자기 사용자 정의 포맷터없이 태그를 닫을 수 있지만 입력을 고려할 때이 출력이 예상됩니까?

내가 좋아하는 뭔가를 기대 :

<tag></tag> and another <tag></tag> 

답변

1

이 AngleSharp와는 아무 상관, 오히려 HTML5 사양이 없습니다. 자체 폐쇄는 몇 가지 요소에 대해서만 허용됩니다 (대부분 이전 버전과의 호환성을 위해서만 사용됩니다. 실제로는 HTML5에서 자동 닫히지 않고 <img /><meta />보다 <img /><meta> 이상을 선호 함).

작성한 모든 것 : 제공 한 태그 (tag)는 알 수 없으므로 따라서 예외가 아닙니다 (예외 목록은 짧습니다. 위에서 언급 한 두 목록은이 목록에 있습니다). 맞춤 태그와 유사한 태그를 사용하려면 div을 사용하십시오.

지금 당신은 볼 수

var text = @"<img /> and another <img />"; 

var text = @"<div /> and another <div />"; 

를 사용하여 출력을 비교하는 후자의 당신에게 다른 직렬화 예상 출력을 (얻는다 (img를 사용하여), 그러나 생성 된 DOM이 될 것입니다 등가 임), div은 현재 출력과 유사합니다.

중요 사항 : HTML은 XML의 하위 집합처럼 보일 수 있지만 실제로는 그렇지 않습니다. 또한 수퍼 셋이 아닙니다. HTML은 얼마 전에 일탈하기 시작했고, HTML5는 예기치 않은 마크 업을 처리 할 수있는 일반적인 방법을 제공함으로써 파서 측에 온 전성을 가져다 주기만했습니다.

희망이 도움이됩니다.