28 February 2016 XML, .NET Robert Muehsig

Pretty Print

The term “pretty print” describes that a document is more or less human readable formatted. So instead of this:

<Foo><Bar><Buzz></Buzz></Bar></Foo>

You might want to get this:

<Foo>
  <Bar>
    <Buzz></Buzz>
  </Bar>
</Foo>

Many editors support this feature - but we want to do it in code.

Pretty Print XML with .NET

The code is really simple, because XDocument does the heavy lifting for us.

var xDocument = XDocument.Parse(input);
string formattedXml = xDocument.ToString();

// Force XML Declaration if present
if (xDocument.Declaration != null)
{
  formattedXml = xDocument.Declaration + Environment.NewLine + formattedXml;
}
return formattedXml;

This should work in most cases - there might be some issues with comments or maybe special XML chars. If you have a better idea, please let me know.

Hope this helps!


Written by Robert Muehsig

Software Developer - from Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de