使用boost :: property_tree :: xml_writer_settings编译错误

时间:2015-03-31 14:13:42

标签: c++ xml boost boost-propertytree

为了用boost::property_tree打印我的XML输出,我编写了以下代码:

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

int main()
{
    std::string filename = "test.xml";
    boost::property_tree::ptree pt;
    pt.put("some.path.value", "hello");

    boost::property_tree::xml_writer_settings<char> settings('\t', 1);
    write_xml(filename, pt, settings);
}

不幸的是我有这个错误,我找不到任何相关的信息:

/usr/local/include/boost/property_tree/detail/xml_parser_writer_settings.hpp:38:19: error: type 'char' cannot be used prior to '::' because it has no members
    typedef typename Str::value_type Ch;
                     ^

有什么想法吗?

1 个答案:

答案 0 :(得分:11)

我使用辅助功能

std::ofstream file("test.xml");

boost::property_tree::ptree pt;    
pt.put("some.value", "test");

boost::property_tree::write_xml(
   file, pt,
   boost::property_tree::xml_writer_make_settings<std::string>('\t', 1));