我用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 ++打开文件
感谢。
答案 0 :(得分:4)
XmlTextWriter
有一个属性Formatting
来定义输出的写入方式:
using (var writer = new XmlTextWriter(targetPath, new UTF8Encoding(false)))
{
writer.Formatting = Formatting.Indented;
dataDoc.Save(writer);
}