HtmlAgilityPack - 페이지를로드 할 때 사용자 정의 인코딩을 설정하는 방법

c# encoding html-agility-pack load wpf

문제

아래 메서드로 페이지를로드 할 때 사용자 지정 인코딩을 설정할 수 있습니까?

HtmlWeb hwWeb = new HtmlWeb();
HtmlDocument hd = hwWeb.load("myurl");

인코딩을 "iso-8859-9"로 설정하고 싶습니다.

나는 C # 4.0과 WPF를 사용한다.

편집 : MSDN에서 질문에 대한 답변을 얻었습니다.

수락 된 답변

HtmlWeb 객체의 인코딩을 무시할 수 있다고 가정합니다.

이 시도:

var web = new HtmlWeb
{
    AutoDetectEncoding = false,
    OverrideEncoding = myEncoding,
};
var doc = web.Load(myUrl);

참고 : OverrideEncoding 속성은 버전 76610의 HTML 민첩성 팩에 추가되었으므로 현재 릴리스 v1.4 (66017)에서는 사용할 수 없습니다. 그 다음으로 할 일은 오버라이드 된 인코딩을 사용하여 페이지를 수동으로 읽는 것입니다.


인기 답변

var document = new HtmlDocument();

using (var client = new WebClient())
{
    using (var stream = client.OpenRead(url))
    {
        var reader = new StreamReader(stream, Encoding.GetEncoding("iso-8859-9"));
        var html = reader.ReadToEnd();
        document.LoadHtml(html);
    }
}

이 솔루션의 간단한 버전의 응답되는 여기 (일부 이유가 삭제되었다)



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.