删除某个属性:不能用earse直接删除path,参数需要是key type,所以不支持删除。http://*.com/questions/21501970/how-to-remove-xmls-attribute-using-boosts-ptree/21551698?noredirect=1#comment32629873_21551698
int main()
{
ptree pt;
{
std::stringstream strm;
strm << "<?xml version=‘1.0‘ encoding=‘utf-8‘?> <tokens title=‘issues‘ title2=‘issues‘><token>x</token></tokens>";
read_xml(strm, pt);
}
ptree &tokens = pt.get_child("tokens.<xmlattr>");
tokens.erase("title");
write_xml(cout, pt, xml_writer_make_settings(‘ ‘, 2));
}
增加子节点:
ptree child;
child.add("name","name1");
child.add("password","password1");
ptree child2;
child2.add("name","name2");
child2.add("password","password2");
pt.add_child("tokens.token",child);
pt.add_child("tokens.token",child2);
pt.add("tokens.<xmlattr>.title","fujian");
增加属性:
pt.add("tokens.<xmlattr>.title","xinxiu2");
#include <boost/property_tree/xml_parser.hpp>
#include <boost/property_tree/exceptions.hpp>
#include <sstream>
#include <iostream>