현재 문서는 말한다 :HtmlAgilityPack : 누군가 HtmlDocument OptionAutoCloseOnEnd를 true로 설정했을 때의 효과를 정확히 설명해 주실 수 있습니까?
정의 비 폐쇄 노드에 대해 폐쇄가 마지막에 직접 문서에 수행해야합니다. 이것을 true로 설정하면 실제로 브라우저가 페이지를 렌더링하는 방법을 변경할 수 있습니다. 기본값은 false입니다.
죄송합니다.이 단락을 이해할 수 없습니다. 구체적으로 "끝에서"무엇을? "문서에서"정확히 무엇을 의미합니까? 마지막 하나의 구절은 불길하게 들립니다. 이 옵션이 true로 설정되어 있고 html이 제대로 포맷되어 있다면 여전히 문서에 영향을 미칩니 까?
소스 코드를 살펴 봤지만 무슨 일이 일어 났는지 이해하지 못했습니다. 코드가 true로 설정되지 않은 속성에 반응합니다. HtmlNode.cs을보고 OptionAutoCloseOnEnd- 라인 1707을 검색하십시오. HtmlWeb.cs 1113과 1154에 펑키 코드가 있습니다. 소스 코드 브라우저에 줄 번호가 표시되지 않지만 페이지에서 OptionAutoCloseOnEnd를 검색하십시오.
이 옵션의 기능에 대한 예를 들어 설명해주십시오.
일부 html을 수정하고 페이지 콘텐츠를 xml로 내보내려면 HtmlAgilityPack을 사용하고 있습니다.
형식이 잘못된 HTML 겹치는 태그가 나타납니다. 스 니펫은 다음과 같습니다.
<p>Blah bah
<P><STRONG>Some Text</STRONG><STRONG></p>
<UL>
<LI></STRONG>Item 1.</LI>
<LI>Item 2</LI>
<LI>Item 3</LI></UL>
첫 번째 p 태그가 닫히지 않고 겹치는 STRONG 태그가 있음을 유의하십시오.
OptionAutoCloseOnEnd를 설정하면 어떻게 든 고쳐집니다. 이 속성을 문서의 구조에서 일반적으로 true로 설정하는 효과가 정확히 무엇인지 이해하려고합니다.
HtmlDocument doc = new HtmlDocument();
doc.OptionOutputAsXml = true;
doc.OptionFixNestedTags = true;
// doc.OptionAutoCloseOnEnd = true;
doc.LoadHtml(htmlText);
감사합니다 :
여기 내가 사용하고 C# 코드입니다!
감사합니다. OptionAutoCloseOnEnd = false 일 때 다른 형제 p를 찾거나 부모가 닫힐 때만 닫히지 않은 p가 닫힙니 까? 코드에서 특정 태그를 구별합니까? 또한 여는 태그가없는 닫는 태그가 발견되면 어떻게됩니까? 버려 졌습니까? – costa
예 해당하는 첫 번째 여백을 제외하고는 닫는 태그가 삭제됩니다 (오류가 발생할 수 있음). 태그는 HtmlNode.cs에 정의 된 ElementFlags와 관련하여 특별한 방법으로 만 처리됩니다. –