XDocument如何在不使用字节顺序标记和预设格式/空白的情况下进行保存

时间:2019-07-05 07:27:34

标签: c#

我可以使用以下代码删除字节顺序标记:

using (var writer = new XmlTextWriter(file, new UTF8Encoding(false)))
{
    writer.Formatting = Formatting.None;
    xdoc.Save(writer);
}

尽管如此,但问题是我的格式变得混乱,所有空白都被删除了。例如:

<root>
  <data name="A" xml:space="preserve">
    <value>A</value>
  </data>
</root>

现在变成:

<root><data name="A" xml:space="preserve">
    <value>A</value>
</data></root>

有什么方法可以删除此字节顺序标记并保持文件的原始格式?

1 个答案:

答案 0 :(得分:0)

问题已解决(由于创建不必要的空格的问题而更新):

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = new UTF8Encoding(false);
using (var writer = XmlWriter.Create(file, settings))
{
     xdoc.Save(writer);
}