一尘不染

从XmlDocument用换行符缩进XML的最简单方法是什么?

c#

当我使用XmlDocument,从头开始构建XML时,该OuterXml属性已经包含了所有带有换行符的缩进。但是,如果我调用LoadXml一些非常“压缩”的XML(没有换行或缩进),则OuterXml保持输出。所以…

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


阅读 202

收藏
2020-05-19

共1个答案

一尘不染

根据其他答案,我研究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();
}

它比我期望的要多一些代码,但它的工作方式只是桃花心木。

2020-05-19