以缩进格式将xml字符串或XmlNode保存到文本文件中?
我有一个xml字符串,在一行中很长。 我想以一种漂亮的缩进格式将xml字符串保存到文本文件中:
myAppmyApp.log......
我喜欢的格式:
myApp myApp.log ... ....
什么是可用于C#的.Net库?
这将适用于您想要做的事情……
var samp = @"myApp myApp.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()