c#:事先为WebClient获取站点's编码

本文关键字:编码 站点 获取 WebClient | 更新日期: 2023-09-27 18:04:48

我正在从互联网上下载和解析大量XML文件。它们都有不同的编码,在第一行描述。

<?xml version="1.0" encoding="windows-1251"?>
<?xml version="1.0" encoding="UTF-8"?>

等等…

我需要设置正确的WebClient。参数,以便以正确的编码接收文本。但是,如果不预先下载文件并阅读第一行,我就无法做到这一点。

有可能吗?

谢谢

c#:事先为WebClient获取站点's编码

您不需要设置任何内容-您根本不需要处理编码。只需获取二进制数据并让XML解析器处理它。或者如果要将文件存储在磁盘上,只需将二进制数据直接转储到磁盘上。根本不需要担心编码。

现在简单地使用它,它应该处理自己的一切:

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); 
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); 
XDocument.Load(myHttpWebResponse.GetResponseStream());
http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx