我正在使用 UTF-8(无 Bom)编码编写 xml 文件,如下所示:
xmldecl.Encoding = "UTF-8";
dataDoc.InsertBefore(xmldecl, root);//dataDoc is XmlDocument object
using (var writer = new XmlTextWriter(targetPath, new UTF8Encoding(false)))
{
dataDoc.Save(writer);
}
我的“问题”是文件保存在一行中而不是 xml 格式,
即,如果我有以下 xml:
<ElementA>
<ElementB/>
</ElementA>
使用我的代码,xml 文件将是:
<ElementA><ElementB/></ElementA>
而不是xml格式。
如何解决?
*我尝试使用 Notepad++ 打开该文件
谢谢。
最佳答案
XmlTextWriter
有一个属性 Formatting
定义输出的写入方式:
using (var writer = new XmlTextWriter(targetPath, new UTF8Encoding(false)))
{
writer.Formatting = Formatting.Indented;
dataDoc.Save(writer);
}
关于c# - 平面 xml 文件 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40511972/