2009-05-03 67 views
5

我有一個很長的一行xml字符串。我想保存XML字符串到一個文本文件中的一個不錯的縮進格式:以縮進格式將xml字符串或XmlNode保存爲文本文件?

<root><app>myApp</app><logFile>myApp.log</logFile><SQLdb><connection>...</connection>...</root> 

格式我喜歡:

<root> 
    <app>myApp</app> 
    <logFile>myApp.log</logFile> 
    <SQLdb> 
     <connection>...</connection> 
     .... 
    </SQLdb> 
</root> 

什麼是可用於C#做.NET庫?

回答

7

這會爲你想做什麼工作?

var samp = @"<root><app>myApp</app><logFile>myApp.log</logFile></root>";  
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"); 
+0

其中是XDocument,我的意思是命名空間? – 2009-05-03 02:37:27

3

我打算假設你並不是說你有一個帶有一些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() 
相關問題