我正在尝试编写一个包含更多节点和属性的xml,其名称与此相同:
<ParameterSet>
<ParameterSetType Name="AAAA">
</ParameterSetType>
<ParameterSetType Name="BBBB">
</ParameterSetType>
<ParameterSetType Name="CCCC">
</ParameterSetType>
</ParameterSet>
我尝试使用pt.put()
获取最后一个元素
<ParameterSet>
<ParameterSetType Name="CCCC">
</ParameterSetType>
</ParameterSet>
和pt.add()
获取一个具有所有属性的节点
<ParameterSet>
<ParameterSetType Name="AAAA" Name="BBBB" Name="CCCC">
</ParameterSetType>
</ParameterSet>
做我想做的事的正确方法是什么?
答案 0 :(得分:3)
根据属性树文档pt.add()
绝对是正确使用的函数:
template<typename Type> self_type & add(const path_type & path, const Type & value);
如果路径标识的节点不存在,请创建它, 包括所有失踪的父母。如果节点已存在,请添加 兄弟用同样的钥匙。将新创建的节点的值设置为 给定的参数,用提供的翻译器翻译。
这次再次引用文档从教程中给出了以下将std :: list中的字符串添加到属性树的示例:
BOOST_FOREACH(const std::string &name, m_modules)
pt.add("debug.modules.module", name);
结果如下:
<debug>
<modules>
<module>Finance</module>
<module>Admin</module>
<module>HR</module>
</modules>
</debug>