XDocument.Save在XML中创建3个坏字符

时间:2010-07-16 12:47:08

标签: c# encoding character-encoding linq-to-xml

使用(XmlWriter xw = new XmlTextWriter(fcService.SetCIRIFilePath(),Encoding.UTF8))             {                 debts.Save(XW);                 xw.Flush();             }

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

<?xml version

这是阻止它被第三方解析。我有什么想法可以阻止它这样做吗?

1 个答案:

答案 0 :(得分:3)

尝试告诉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();
        }