2010-12-06 18 views
16

¿Me pregunto cómo agregar un salto de línea para cada elemento al usar XmlSerializer?Cómo agregar un salto de línea al usar XmlSerializer

Código de ejemplo:

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

¿Por qué? A una computadora no le importan los saltos de línea. – leppie

+5

@leppie: Sin embargo, un poder humano. Esa es la única razón para usar XML de todos modos; de lo contrario, podría simplemente usar datos binarios. –

Respuesta

26

Al crear el XmlWriter, pasar en un objeto XmlWriterSettings con Indent conjunto a 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); 
} 
+1

O si usa XmlTextWriter, configure "obj.Formatting = Formatting.Indented" después de la construcción – dlchambers

Cuestiones relacionadas