Как добавить разрыв строки при использовании XmlSerializer - PullRequest
20 голосов
/ 06 декабря 2010

Мне интересно, как добавить разрыв строки для каждого элемента при использовании XmlSerializer?

Пример кода:

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

Ответы [ 2 ]

30 голосов
/ 06 декабря 2010

При создании XmlWriter передайте объект XmlWriterSettings с Indent, установленным на true.

var xmlWriterSettings = new XmlWriterSettings() { Indent = true };
XmlSerializer serializer = new XmlSerializer(typeof(xxx));
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml", xmlWriterSettings)
{
    serializer.Serialize(xmlWriter, xxx);
}
6 голосов
/ 06 декабря 2010

Вы можете использовать XmlWriterSettings и установить свойства для отступа и перевода строки. .Indent и .NewLineOnAttributes - это то, что вы хотели бы.

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

...