【发布时间】:2018-04-10 18:02:45
【问题描述】:
我正在使用 boost 库来解析 XML 文件,我必须手动创建一个 ptree。 我想使用 boost ptree 创建下面的 xml 文件。
<?xml version="1.0"?>
<Txn>
<Resp errCode="0" errInfo="" />
<A exptime="20171230">xyz Information</A>
<B>xyz Information</B>
<C type="Active">xyz Information</C>
</Txn>
要实现上面的xml, 以下是我的示例代码:
boost::property_tree::ptree pt;
boost::property_tree::ptree ptr1;
boost::property_tree::ptree ptr2;
boost::property_tree::ptree ptr3;
ptr1.put("<xmlattr>.errCode", Txn.resp.errCode);
ptr1.put("<xmlattr>.errInfo", Txn.resp.errInfo);
ptr2.push_back(boost::property_tree::ptree::value_type("A", boost::property_tree::ptree(data)));
ptr2.push_back(boost::property_tree::ptree::value_type("C", boost::property_tree::ptree(data)));
ptr2.put("A.<xmlattr>.exptime", data);
ptr2.put("C.<xmlattr>.type", data);
ptr3.put("<xmlattr>", data);
pt.add_child("Txn.Resp", ptr1);
pt.add_child("Txn", ptr2);
pt.add_child("Txn.B", ptr3);
这里 Child A 和 C 总是与 Parent Txn 单独创建,但我想在 Txn Parent 中添加所有孩子
。我不明白,为什么孩子A和C在这里不同。 如果有人帮助我提供正确的方法,那将非常有帮助。
【问题讨论】:
-
我已经用问题点更新了我的问题。谢谢
标签: c++ xml boost xml-parsing boost-propertytree