Format XML in C#

Below is a small snippet showing how to format (or re-format) XML so it's indented. XML isn't stored in this humanly readable way in databases (or in System.XML's various writers), so this method makes the XML easier on the eyes.

/// <summary>
/// Formats the provided XML so it's indented and humanly-readable.
/// </summary>
/// <param name="inputXml">The input XML to format.</param>
/// <returns></returns>
public static string FormatXml(string inputXml)
{
    XmlDocument document = new XmlDocument();
    document.Load(new StringReader(inputXml));

    StringBuilder builder = new StringBuilder();
    using (XmlTextWriter writer = new XmlTextWriter(new StringWriter(builder)))
    {
    	writer.Formatting = Formatting.Indented;
    	document.Save(writer);
    }

    return builder.ToString();
}
Last updated on 09 September 2009

Comments

blog comments powered by Disqus