boost ptree

删除某个属性:不能用earse直接删除path,参数需要是key type,所以不支持删除。http://stackoverflow.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>


你可能感兴趣的:(boost ptree)