XmlWriter让XML格式化输出(自动缩进)

在网上找了很多次XmlWriter格式化(自动缩进)输出的写法,每次用完就忘了,在此备忘:

System.Xml.XmlDocument doc = new XmlDocument();
//Your Code...中间对XmlDocument的一些加载、操作
 
//开始格式化代码
System.Xml.XmlWriterSettings set = new XmlWriterSettings();
set.Indent = true;
set.IndentChars = "\t";
set.Encoding = System.Text.Encoding.UTF8;
 
System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Xml.XmlWriter writer = XmlWriter.Create(stream, set); //此处也可以用一个StringBuilder代替stream, 但容易遇到编码问题
 
doc.Save(writer);
 
//输出,完结
string html = System.Text.Encoding.UTF8.GetString(stream.ToArray());
Response.Write(html);