c# - 平面 xml 文件 C#

标签 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++ 打开该文件

谢谢。

最佳答案

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/

相关文章:

c# - HTML 未显示在 outlook 邮件中

c# - 无法在 Azure DevOps 上完成 pull 请求

c# - 使用 .Net 4.0 时出现 PInvoke StackImbalance 错误,但使用 .Net 2.0 时则不会

c# - 如何开始使用适用于 ASP.NET 的新 Facebook SDK

c# - 如何使用c#实现非二叉树结构

c# - 如何检查 byte[] 是否只包含零?

c# - 从 GAC 在 C# 代码中卸载

c# - 如何解决此错误 "Cannot convert lambda expression to type ' string' 因为它不是委托(delegate)类型”

c# - Windows Server 2008 上的正则表达式速度慢

c# - 减去 HashSet(并返回一个副本)?