boost :: property_tree XML довольно печатный

Я использую boost :: property_tree для чтения и записи файлов конфигурации XML в моем приложении. Но когда я пишу файл, результат выглядит некрасиво с большим количеством пустых строк в файле. Проблема в том, что его тоже должны редактировать люди, поэтому я хотел бы получить лучший результат.

В качестве примера я написал небольшую тестовую программу:

#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 содержит:

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

после запуска Программа file2.xml содержит:

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



    <net>



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

Есть ли способ улучшить вывод, кроме ручного просмотра вывода и удаления пустых строк?

31
задан Null 31 March 2016 в 16:30
поделиться