boost::p roperty_tree XML 漂亮的打印,格式化

boost::property_tree xml pretty printing, formatting

本文关键字:打印 格式化 漂亮 tree roperty boost XML      更新时间:2023-10-16

我正在按照五分钟教程进行操作,我得到的输出(不出所料)文件debug_settings_out.xml .

但我的问题是,它的格式不好。它看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<debug><filename>debug.log</filename><level>2</level></debug>

我希望它看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<debug>
    <filename>debug.log</filename>
    <level>2</level>
</debug>

因为它也应该是可手动编辑的。我怎样才能做到这一点?

我已经找到了可以传递给解析器的设置,但它们都没有给我所需的行为。

PropertyTree的文档非常糟糕(我最近开始改进它)。您需要做的是将正确的xml_writer_settings对象传递给write_xml。

https://github.com/boostorg/property_tree/blob/master/include/boost/property_tree/detail/xml_parser_writer_settings.hpp

write_xml(filename, tree, std::locale(),
          xml_writer_make_settings(' ', 4));