<?xml version="1.0"?>
<methodCall>
<methodName>xyzabc</methodName>
<params>
<param>
<value><base64>123456</base64></value>
</param>
</params>
</methodCall>
boost::property_tree::ptree methodCall;
boost::property_tree::ptree methodName;
methodName.put("methodName","BioLookup");
boost::property_tree::ptree base64;
base64.put("base64", base64_value);
methodCall.add_child("methodCall",methodName);
methodCall.add_child("methodCall.methodName", base64);
boost::property_tree::write_xml("boost.xml", base64);
为什么我得到低于响应,我已经浏览了一些在stackoverflow或互联网上发布的示例代码。
<?xml version="1.0" encoding="utf-8"?>
<base64>123456</base64>
我想实现上面提到的回复
答案 0 :(得分:0)
首先,Property Tree不是XML库。
是一个树库,所以请使用它:
<强> Live On Coliru 强>
#include <boost/property_tree/xml_parser.hpp>
#include <iostream>
using boost::property_tree::ptree;
int main() {
ptree pt;
pt.put("methodCall.methodName", "xyzabc");
pt.put("methodCall.params.param.value.base64", "123456");
write_xml(std::cout, pt, boost::property_tree::xml_writer_make_settings<std::string>(' ', 4));
}
打印
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>xyzabc</methodName>
<params>
<param>
<value>
<base64>123456</base64>
</value>
</param>
</params>
</methodCall>