平面xml文件c#

时间:2016-11-09 16:43:30

标签: c#

我用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 ++打开文件

感谢。

1 个答案:

答案 0 :(得分:4)

XmlTextWriter有一个属性Formatting来定义输出的写入方式:

using (var writer = new XmlTextWriter(targetPath, new UTF8Encoding(false)))
{
    writer.Formatting = Formatting.Indented;
    dataDoc.Save(writer);
}