创建XDocument时,我收到一条带有以下消息的XmlException:
system does not support 'iso-8859-1' encoding line 1, position 31
Xml文档的第一行如下所示:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
以下是我用来创建文档的代码:
xDoc = XDocument.Load(webResponse.GetResponseStream());
奇怪的是,异常发生在Chrome和Firefox上,而不是IE8。
有什么想法吗?
答案 0 :(得分:0)
许多浏览器不支持此编码。基本上,您可以为您尝试显示的任何语言安装字体(我假设这就是您使用该编码的原因)。然后,您可以嵌入该字体以在任何本地计算机上使用。
答案 1 :(得分:0)
下载由OData的.NET Web服务(由IIS 7本地提供)生成的xml文档时,我看到了类似的行为。它显示基于浏览器的不同内容类型。内容类型标头以及xml文件的第一行都在变化。将断点放入并检查“HttpWebResponse”对象或使用Fiddler显示:
content-type: "application/xml;charset=utf-8" (IE)
content-type: "application/xml;charset=iso-8859-1" (Chrome)
比较xml的第一行
<?xml version="1.0" encoding="utf-8" standalone="yes"?> (IE)
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> (Chrome)
这导致Chrome上的默认XDocument.Load(webResponse_stream)失败。