Question

I'm using boost 1.51 and have something like this:

boost::property_tree::ptree some_tree;
some_tree.put("hello.world.<xmlattr>.foo.bar","4711");

I was hoping to get

<hello>
  <world foo.bar="4711"/>
</hello>

But I only get

<hello>
  <world foo=""/>
</hello>

Using boost::property_tree, is it possible to create an xml file with an attribute name containing a '.' character or do I need to look elsewhere?

Was it helpful?

Solution

You have to use a separator other than the default .. Try this,

boost::property_tree::ptree some_tree;
some_tree.put(ptree::path("hello/world/<xmlattr>/foo.bar", '/'),"4711");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top