以缩进格式将xml字符串或XmlNode保存到文本文件中?

我有一个xml字符串,在一行中很长。 我想以一种漂亮的缩进格式将xml字符串保存到文本文件中:

myAppmyApp.log...... 

我喜欢的格式:

  myApp myApp.log  ... ....   

什么是可用于C#的.Net库?

这将适用于您想要做的事情……

 var samp = @"myAppmyApp.log"; var xdoc = XDocument.Load(new StringReader(samp), LoadOptions.None); xdoc.Save(@"c:\temp\myxml.xml", SaveOptions.None); 

与System.Xml命名空间相同的结果…

 var xdoc = new XmlDocument(); xdoc.LoadXml(samp); xdoc.Save(@"c:\temp\myxml.xml"); 

我假设你并不是说你有一个带有一些XML的System.String实例,我希望你不要通过字符串操作来创建它。

也就是说,您所要做的就是在创建XmlWriter时设置正确的设置:

 var sb = new StringBuilder(); var settings = new XmlWriterSettings {Indent = true}; using (var writer = XmlWriter.Create(sb, settings)) { // write your XML using the writer } // Indented results available in sb.ToString()