root.add_child("XML.DroneViewList", drone_view_list);
auto setting = boost::property_tree::xml_writer_make_settings<std::string>('\t', 1, "GB2312");
write_xml(file_path, root, std::locale(), setting);
root节点添加了一个子节点,节点的名字是"DroneViewList",并且该子节点的值是drone_view_list。
"XML.DroneViewList:这是个相对路径,就这么写的
drone_view_list是一个boost::property_tree::ptree对象
auto setting = boost::property_tree::xml_writer_make_settings<std::string>('\t', 1, "GB2312");
这行代码创建了一个setting对象,用于配置XML写入器的设置。这个设置对象指定了三个参数:
'\t':这是一个制表符(tab字符),它指定了XML输出的缩进量。这意味着XML的输出格式将使用制表符进行缩进。
1:这是缩进级别。这里设置为1,意味着每个节点级别的缩进量都是一个制表符。
"GB2312":GB2312是一个用于简体中文的字符编码。
write_xml(file_path, root, std::locale(), setting);
这行代码使用之前创建的设置对象setting将root节点写入到指定的文件路径file_path中。std::locale()表示使用当前的区域设置(locale)来写入文件,这通常涉及到字符排序、大小写转换等。
这段代码的目的是创建一个XML文件,其中包含为"DroneViewList"的子节点,并使用指定的设置(缩进和字符编码)将其写入到文件中。