Formatting of XML created by DataContractSerializer
Solution 1:
As bendewey says, XmlWriterSettings is what you need - e.g. something like
var ds = new DataContractSerializer(typeof(Foo));
var settings = new XmlWriterSettings { Indent = true };
using (var w = XmlWriter.Create("fooOutput.xml", settings))
ds.WriteObject(w, someFoos);
Solution 2:
Take a look at the Indent
property of the XmlWriterSettings
Update: Here is a good link from MSDN on How to: Specify the Output format on the XmlWriter
Additionally, here is a sample:
class Program
{
static void Main(string[] args)
{
var Mark = new Person()
{
Name = "Mark",
Email = "[email protected]"
};
var serializer = new DataContractSerializer(typeof(Person));
var settings = new XmlWriterSettings()
{
Indent = true,
IndentChars = "\t"
};
using (var writer = XmlWriter.Create(Console.Out, settings))
{
serializer.WriteObject(writer, Mark);
}
Console.ReadLine();
}
}
public class Person
{
public string Name { get; set; }
public string Email { get; set; }
}