感谢Boost :: Property_Tree,我试图配置我的XML文件。 我想要的聊天是:
<configuration>
<message>
<first>10</first>
</message>
</configuration>
我所拥有的是:
<configuration><message>first>10</first></message></configuration>
我发现我必须使用
boost::property_tree::xml_writer_settings<char> settings(' ', 1);
write_xml(file, XMLobjectL, std::locale(), settings);
但这并没有编译。 错误是:
你知道吗? 我正在使用Boost 1.57.0和MVSC ++ 提前谢谢。IntelliSense:没有&#34; write_xml&#34;的实例匹配参数列表 参数类型是:(const std :: string,boost :: property_tree :: ptree, 的std ::现场, 升压:: property_tree :: xml_parser :: xml_writer_settings)
错误C2664:&#39;无效 提高:: property_tree :: xml_parser :: write_xml(常量 std :: string&amp;,const Ptree&amp;,const std :: locale&amp;,const boost :: property_tree :: xml_parser :: xml_writer_settings&amp;)&#39; : 无法转换参数4 &#39;的boost :: property_tree :: xml_parser :: xml_writer_settings&#39;至 &#39; const boost :: property_tree :: xml_parser :: xml_writer_settings&amp;&#39;
答案 0 :(得分:1)
您需要帮助重载解决方案。
也就是说,考虑使用xml_writer_make_settings
:
<强> Live On Coliru 强>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
using namespace boost::property_tree;
int main() {
ptree XMLobjectL;
XMLobjectL.put("configuration.message.first", 10);
write_xml("test.xml", XMLobjectL, std::locale(), xml_writer_make_settings<ptree::key_type>(' ', 1u));
}