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

22
我想知道在使用XmlSerializer时如何为每个元素添加换行符?
示例代码:
XmlSerializer serializer = new XmlSerializer(typeof(xxx));
using (XmlWriter xmlWriter = XmlWriter.Create("test.xml")
{
    serializer.Serialize(xmlWriter, xxx);
}

为什么?计算机不在乎换行。 - leppie
12
然而,人类可以。这也是使用XML的唯一原因 - 否则您可以使用二进制数据。 - Matti Virkkunen
2个回答

39

创建XmlWriter时,传递一个含有Indent设置为trueXmlWriterSettings对象。

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

3
如果使用XmlTextWriter,构造后设置"obj.Formatting = Formatting.Indented"。 - dlchambers

6

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接