Boost.Property TreeでXML文字列を直接使う方法
std::stringstreamを使う
read_xml関数には、第一引数にstd::istreamを受け取るオーバーロード関数が用意されていますので、そっちを使います。文字列のstream実装にはstd::stringstreamがあります。(lexical_castのバックエンドで動いてるやつです)
#include <sstream> std::stringstream ss; ss << "<xml></xml>"; boost::property_tree::ptree pt; boost::property_tree::xml_parser::read_xml(ss, pt);
ググってもファイル名を渡す方法ばかり紹介されて、文字列を渡す方法が見つからなかったので調べてみました。
もちろん、read_json/read_iniでも同じ方法で文字列を渡すことができます。