当我使用XmlDocument,从头开始构建XML时,该OuterXml属性已经包含了所有带有换行符的缩进。但是,如果我调用LoadXml一些非常“压缩”的XML(没有换行或缩进),则OuterXml保持输出。所以…
XmlDocument
OuterXml
LoadXml
从实例获取美化XML输出的最简单方法是XmlDocument什么?
根据其他答案,我研究XmlTextWriter并提出了以下帮助方法:
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(); }
它比我期望的要多一些代码,但它的工作方式只是桃花心木。