boost :: property_tree XML bonita impressão

Estou usando o boost :: property_tree para ler e gravar arquivos de configuração XML no meu aplicativo. Mas quando eu escrevo o arquivo, a saída fica meio feia com muitas linhas vazias no arquivo. O problema é que ele também deve ser editado por humanos, então eu gostaria de obter uma saída melho

omo exemplo, escrevi um pequeno programa de test

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>

int main( void )
{
    using boost::property_tree::ptree;
    ptree pt;

    // reading file.xml
    read_xml("file.xml", pt);

    // writing the unchanged ptree in file2.xml
    boost::property_tree::xml_writer_settings<char> settings('\t', 1);
    write_xml("file2.xml", pt, std::locale(), settings);

    return 0;
}

file.xml contém:

<?xml version="1.0" ?>
<config>
    <net>
        <listenPort>10420</listenPort>
    </net>
</config>

após a execução do programa file2.xml contém:

<?xml version="1.0" encoding="utf-8"?>
<config>



    <net>



        <listenPort>10420</listenPort>
    </net>
</config>

Existe uma maneira de obter uma saída melhor, além de passar manualmente pela saída e excluir linhas vazia

questionAnswers(3)

yourAnswerToTheQuestion