如何在使用XmlSerializer时添加换行符

use*_*949 20 .net c# xml xml-serialization

我想知道如何在使用XmlSerializer时为每个元素添加换行符?

示例代码:

XmlSerializer serializer = new XmlSerializer(typeof(xxx));
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml")
{
    serializer.Serialize(xmlWriter, xxx);
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*nen 30

创建时XmlWriter,传入一个设置为的XmlWriterSettings对象.Indenttrue

var xmlWriterSettings = new XmlWriterSettings() { Indent = true };
XmlSerializer serializer = new XmlSerializer(typeof(xxx));
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml", xmlWriterSettings)
{
    serializer.Serialize(xmlWriter, xxx);
}
Run Code Online (Sandbox Code Playgroud)

  • 或者,如果使用XmlTextWriter,请在构造后设置"obj.Formatting = Formatting.Indented" (2认同)

Pau*_*aul 6

您可以使用XmlWriterSettings并将属性设置为缩进和换行符..Indent和.NewLineOnAttributes似乎是你想要的.

http://msdn.microsoft.com/en-us/library/system.xml.xmlwritersettings.aspx