Quando é necessário exibir ou salvar um arquivo XML com C#, o arquivo pode ser carregado totalmente formatado mais quando salva a formatação fica totalmente desconfigurada, assim ficando quase impossível identificar possíveis problemas em arquivos grandes.
Para manter essa formação com os espaços já definidos existe uma propriedade na classe XmlDocument para manter essas informações quando salvar a propriedade se chama PreserveWhitespace quando definido para false o arquivo mantem os espaços do arquivo existente, mais por padrão ela é definida como true.
Código exemplificando o que ocorre para uma aplicação console básica.
XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml( @"<teste> <a> teste </a> <b> </b> <c></c> <d> </d> </teste>"); Console.WriteLine("Exemplo com PreserveWhitespace = false"); xmlDocument.PreserveWhitespace = false; xmlDocument.Save(Console.Out); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Exemplo com PreserveWhitespace = true"); xmlDocument.PreserveWhitespace = true; xmlDocument.Save(Console.Out); Console.ReadKey();