我正在使用 HtmlAgilityPack 读取解析 html 文件并提取一些文本:
static void Main(string[] args)
{
var webGet = new HtmlWeb();
var document = webGet.Load("http://port.ro/");
var programs = from program in document.DocumentNode.Descendants()
where program.Name == "a" && program.Attributes["href"] != null && program.InnerText.Trim().Length > 0
select program.InnerText ;
foreach (string s in programs)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
我的问题是该网站包含像 à
这样的字符,当我打印它们时,它们被替换为 ?
。
当我打印文本字符 à
替换为 a
或像 à
一样打印时,我需要做什么?
最佳答案
您是否尝试使用或设置站点所需的编码。这应该可以帮助您获得正确的文本
var document = webGet.Load("http://port.ro/", Encoding.UTF8);//check your encoding
上面一个是针对htmldocument的
对于 HtmlWeb Try this :
var web = new HtmlWeb
{
AutoDetectEncoding = false,
OverrideEncoding = myEncoding,
};
var doc = web.Load(myUrl);
关于c# - 解析html时被问号替换的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8006563/