当我使用 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/