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オブジェクトのエンコーディングをオーバーライドすることを試みることができると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は合法ですか? はい、理由を学ぶ