C#:预先获取WebClient的网站编码

时间:2011-08-09 08:36:08

标签: c# encoding webclient

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

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

依旧......

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

有可能吗?

谢谢

2 个答案:

答案 0 :(得分:1)

现在只需使用它,它应该处理自己的一切:

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

答案 1 :(得分:1)

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