使用(XmlWriter xw =新的XmlTextWriter(fcService.SetCIRIFilePath(),Encoding.UTF8))
            {
                债务。保存(xw);
                xw.Flush();
            }

我的债务对象是我使用LINQ to XML填充的XDocument对象。但是,当我保存它时,它在记事本中看起来很好,但是当使用二进制/十六进制编辑器打开时,它在XML的开头显示了这3个字符:

<?xml version


这阻止了第三方对其进行解析。有什么想法可以阻止它这样做吗?

最佳答案

尝试告诉UTF-8编码器不要产生字节顺序标记,如下所示:

// http://msdn.microsoft.com/en-us/library/s064f8w2.aspx
using (XmlWriter xw = new XmlTextWriter(fcService.SetCIRIFilePath(), new System.Text.UTF8Encoding(false)))
        {
            debts.Save(xw);
            xw.Flush();
        }

10-04 10:57