[英]Save text file with UTF-16 encoding without Byte Order Mark (BOM) in C#?
[英]XDocument how to save without Byte Order Mark AND preseve formatting/whitespace
我可以使用以下代码删除字节顺序标记:
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>
有什么方法可以删除此字节顺序标记并保持文件的原始格式?
已解决的问题(由于创建不必要的空格的问题而更新):
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = new UTF8Encoding(false);
using (var writer = XmlWriter.Create(file, settings))
{
xdoc.Save(writer);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.