c# - 从 XmlDocument 获取带有换行符的缩进 XML 的最简单方法是什么?

标签 c# .net xmldocument outerxml

当我使用 XmlDocument 从头开始​​构建 XML 时,OuterXml 属性已经将所有内容都很好地缩进了换行符。但是,如果我在某些非常“压缩”的 XML(没有换行符或缩进)上调用 LoadXml,则 OuterXml 的输出将保持原样。所以……

XmlDocument 实例获取美化 XML 输出的最简单方法是什么?

最佳答案

根据其他答案,我调查了 XmlTextWriter并想出了以下辅助方法:

static public string Beautify(this XmlDocument doc)
{
    StringBuilder sb = new StringBuilder();
    XmlWriterSettings settings = new XmlWriterSettings
    {
        Indent = true,
        IndentChars = "  ",
        NewLineChars = "\r\n",
        NewLineHandling = NewLineHandling.Replace
    };
    using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
        doc.Save(writer);
    }
    return sb.ToString();
}

代码比我希望的要多一些,但效果很好。

关于c# - 从 XmlDocument 获取带有换行符的缩进 XML 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/203528/

相关文章:

c# - docker : "npm not found"

c# - 从 VB 转换为 C#

Java XML 创建关闭 xml 语句但没有打开

c# - 实例方法如何转换为委托(delegate)?

c# - 命名参数可以与 params 修饰符一起使用吗?

c# - XmlDocument::Save() 附加文件中的 xml

c# - 在具有相同属性的 XML 元素之间导航

c# - 将 LINQ 查询包装到中继器

c# - 如何在不使用 AutoMapper 的情况下手动映射 DTO?

c# - 取负数 Func<double[], double>