这是创建boostxml请求到字符串并在其中添加回车字符串的方法吗?

这是创建boostxml请求到字符串并在其中添加回车字符串的方法吗?,xml,boost,Xml,Boost,预期的XML输出 <?xml version="1.0" encoding="utf-8"?> <Data> <Name>XYZ</Name> </Data> XYZ 没有xml_writer_settings函数,我就可以得到下面的xml输出 <?xml version="1.0" encoding="utf-8"?> <Data><Name>XYZ</Name><

预期的XML输出

<?xml version="1.0" encoding="utf-8"?>
<Data>
      <Name>XYZ</Name>
</Data>

XYZ
没有xml_writer_settings函数,我就可以得到下面的xml输出

<?xml version="1.0" encoding="utf-8"?>
<Data><Name>XYZ</Name></Data>

XYZ
通过xml_writer_设置,我能够获得预期的xml输出,但我需要将其写入文件,然后将其转换为字符串

    boost::property_tree::ptree pt;
    pt.put(Data.Name, method_name);
    boost::property_tree::xml_writer_settings<char> settings('\t', 1);
    write_xml("Data.xml", pt, std::locale(), settings);
boost::property_tree::ptree pt;
pt.put(数据名称、方法名称);
boost::property\u tree::xml\u writer\u设置('\t',1);
编写xml(“Data.xml”,pt,std::locale(),settings);

有没有其他方法可以将xml数据直接从ptree获取到字符串,并在其中添加回车字符串?

只需写入
std::ostringstream
,而不是文件

std::string xml;
{
    std::ostringstream oss;
    write_xml(oss, pt, boost::property_tree::xml_writer_make_settings<std::string>(' ', 4));
    xml = oss.str();
}
std::stringxml;
{
std::ostringstream oss;
编写xml(oss,pt,boost::property_tree::xml_writer_make_settings(“”,4));
xml=oss.str();
}
我今天要买这个域名。我靠点击发财