【问题标题】:The '', Hexadecimal value 0x1F, is not a valid character. Line 1, Item 1'',十六进制值 0x1F,不是有效字符。第 1 行,第 1 项
【发布时间】:2018-06-11 10:57:50
【问题描述】:

我通过 httpwebrequest 获取 xml 数据。以下代码工作正常。但是有些事情发生了变化,突然开始在 Read() 方法上出现异常并出现错误:'',十六进制值 0x1F,不是有效字符。第 1 行,第 1 项。 在网络浏览器中,sURL 给了我一个有效的 xml。我不知道发生了什么变化。

    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
     }

【问题讨论】:

    标签: c#-4.0 httpwebrequest xmltextreader


    【解决方案1】:

    在这个MSDN Topic 讨论了同样的问题,结果是,

    服务器有时会压缩其响应以节省带宽,发生这种情况时,您需要在尝试读取响应之前对其进行解压缩。幸运的是,.NET 框架可以自动执行此操作,但是,我们必须打开该设置。

    而这个stackoverflow话题解决了问题

    0x1F XML Error Solution

    您应该检查来自您的网址的关于可能使用 GZip 压缩的响应。

    祝你有美好的一天。

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 2015-06-23
      • 2020-12-15
      • 2014-08-16
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 2016-11-14
      相关资源
      最近更新 更多