public string ToXml() { var buffer = new StringBuilder(); const string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; buffer.AppendLine(header); ToXmlRecursively(this, buffer, 0); return buffer.ToString(); } }