MSXML do C ++ - impressão bonita / recuar documentos recém-criados

Estou escrevendo arquivos XML usando o analisador MSXML, com um wrapper que baixei aqui:http://www.codeproject.com/KB/XML/JW_CXml.aspx. Funciona muito bem, exceto que quando eu crio um novo documento a partir do código (então não carrego do arquivo e modifico), o resultado é tudo em uma grande linha. Eu gostaria que os elementos fossem bem recuados para que eu pudesse lê-los facilmente em um editor de texto.

Googling mostra muitas pessoas com a mesma pergunta - perguntado por volta de 2001. As respostas costumam dizer "aplicar uma transformação XSL" ou "adicionar seus próprios nós de espaço em branco". Especialmente o último me faz ir% (então eu estou esperando que, em 2008, haja um jeito mais fácil de produzir um MSXML bonito. Então, minha pergunta está lá, e como eu uso?

questionAnswers(5)

yourAnswerToTheQuestion