我有一个XML文件,我将其附加到我的站点库中。 XML具有拉丁字符,因此我使用此方法item.Attachments.Add("xyz.xml", Encoding.GetEncoding("iso-8859-1").GetBytes(writerXml.ToString()));
问题是,当我尝试在浏览器中打开文件时,它会破坏特殊字符的出现位置。它会出现错误,因为无法使用XSL样式表查看XML输入。。
我想知道如何解决此问题以及为什么我无法在浏览器中生成它?
尝试使用以下代码添加声明:
XDocument doc = new XDocument();
doc.Declaration = new XDeclaration("1.0","ISO-8859-1", null);
XElement element = new XElement("webapp", new XAttribute("name", webApp.Name), new XAttribute("id", webApp.Id),
MyInformation;
doc.Add(element);
return doc.ToString();
}
答案 0 :(得分:0)
显然,文件的编码并不是浏览器认为的。
我真的不明白为什么你最近想要使用iso-8859-1而不是utf-8,但如果这是你的选择,你需要确保(a)文件开头的XML声明声明为iso-8859-1,(b)在提供文件时,HTTP头中没有冲突声明。我的猜测(证据很少)是文件上没有XML声明,因此浏览器假定为UTF-8。