gpt4 book ai didi

c++ - 提升ptree : Adding more nodes with same name and attributes

转载 作者:太空狗 更新时间:2023-10-29 21:24:26 25 4
gpt4 key购买 nike

我正在尝试编写一个包含更多节点和属性的 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>

做我想做的事情的正确方法是什么?

最佳答案

根据属性树文档 pt.add() 绝对是正确的函数:

template<typename Type>    self_type & add(const path_type & path, const Type & value); 

If the node identified by the path does not exist, create it, including all its missing parents. If the node already exists, add a sibling with the same key. Set the newly created node's value to the given paremeter, translated with the supplied translator.

这次再次引用教程中的文档,给出了以下将字符串从 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>

关于c++ - 提升ptree : Adding more nodes with same name and attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16086163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com