使用boost :: property_tree考虑以下代码:
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/xml_parser.hpp> using namespace boost::property_tree; int main() { ptree model_tree; model_tree.add("calibrated","true"); model_tree.add("model.<xmlattr>.label","label"); model_tree.add("model.activity.<xmlattr>.type","fixed"); write_xml("test.xml",model_tree); }
通过编译和执行程序,我得到以下输出:
<?xml version="1.0" encoding="utf-8"?> <calibrated>true</calibrated><model label="label"><activity type="fixed"/></model>
这不是我所期望的,因为没有新的线条也没有缩进.我希望得到以下内容:
<?xml version="1.0" encoding="utf-8"?> <calibrated>true</calibrated> <model label="label"> <activity type="fixed"/> </model>
这是一个错误,还是有选择获得后者的输出?任何帮助,将不胜感激.
P.S.:我正在使用Ubuntu 12.04 LTS和gcc 4.6.3并且提升1.48.