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