将C#Webbrowser中的html流加载到htmlagilitypack时编码错误

时间:2019-06-08 14:33:02

标签: encoding html-agility-pack

我有一个winform应用程序来显示html网页。当用户单击按钮时,我想从html代码中获取一些节点。在我的web浏览器中,一切都很好。当我尝试从特定节点巫婆解码该类时,编码采用希腊文,则显示错误的编码。

代码:

HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.Load(webBrowser1.DocumentStream);
var ShopName = ShopData.SelectNodes(".//div[@class='shop cf']").ToList()[0].SelectNodes(".//div[@class='shop-name']").ToList()[0].InnerText;

我曾尝试更改Web浏览器编码(WebBrowser1_DocumentCompleted)。我还尝试通过添加希腊编码来更改HtmlAgilityPack负载

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

document.load()时,可以要求它自动检测编码或提供编码:

document.load(webBrowser1.DocumentStream, true);

document.load(webBrowser1.DocumentStream, Encoding.UTF8);