[英]Net WebClient Encoding not working
我正在尝试使用.NET WebClient解析html文档,但是我得到的字符不正确。 我已经配置了许多编码,但是我找不到为什么弄错了:
该URL是http://www.vatican.va/archive/ESL0506/__P2.HTM 。
这是我的代码(您可以在ConsoleApp中对其进行测试)
static void Main(string[] args)
{
WebClient client = new WebClient();
client.Encoding = Encoding.GetEncoding(28591);
var htmlCode = client.DownloadString("http://www.vatican.va/archive/ESL0506/__P2.HTM");
var splittedHtml = htmlCode.Split('<').ToList();
var htmlVerses = splittedHtml.Where(x => x.StartsWith("p class=MsoNormal align=left")).ToList();
}
然后,在htmlVerses中,我得到如下字符串:
"p class=MsoNormal align=left style='margin-left:0cm;text-align:left;\ntext-indent:0cm'>3 Entonces Dios dijo: «Que\nexista la luz». Y la luz existió."
检查此部分: 3 Entonces Dios dijo: «Que\\nexista la luz». Y la luz existió
3 Entonces Dios dijo: «Que\\nexista la luz». Y la luz existió
它没有很好地解析。 应该是: 3 Entonces Dios dijo: «Que exista la luz». Y la luz existió.
3 Entonces Dios dijo: «Que exista la luz». Y la luz existió.
如果我们检查chrome源代码,则会得到以下信息:
然后,我尝试从http://www.generateit.net/seo-tools/source-viewer/上获取源代码,但我得到的异常与我的应用程序相同。
确实很奇怪,网页使用的编码是charset = iso-8859-1,与我的webclient使用的编码相同。
任何帮助,将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.