C# 4.0 '';,十六进制值0x1F不是有效字符。第1行,项目1
我通过httpwebrequest获取xml数据。下面的代码运行良好。但发生了一些变化,并突然在Read()方法上出现异常,错误为:十六进制值0x1F的“”不是有效字符。第1行,第1项。在web浏览器中,sURL为我提供了一个有效的xml。我不知道发生了什么变化C# 4.0 '';,十六进制值0x1F不是有效字符。第1行,项目1,c#-4.0,httpwebrequest,xmltextreader,C# 4.0,Httpwebrequest,Xmltextreader,我通过httpwebrequest获取xml数据。下面的代码运行良好。但发生了一些变化,并突然在Read()方法上出现异常,错误为:十六进制值0x1F的“”不是有效字符。第1行,第1项。在web浏览器中,sURL为我提供了一个有效的xml。我不知道发生了什么变化 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sURL); req.Method = "GET"; WebResponse response = r
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sURL);
req.Method = "GET";
WebResponse response = req.GetResponse();
StreamReader resStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
XmlTextReader reader = new XmlTextReader(resStreamReader);
while (reader.Read())
{
// some code
}
在讨论这个问题时,结果是
服务器有时会压缩响应以节省带宽,当这种情况发生时,您需要在尝试读取响应之前先解压缩响应。幸运的是,.NET framework可以自动执行此操作,但是,我们必须打开此设置
这个stackoverflow主题解决了这个问题
您应该检查url对可能的GZip压缩用法的响应
祝你今天愉快