boost ptree:添加更多具有相同名称和属性的节点
boost ptree: Adding more nodes with same name and attributes
我试图写一个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);
如果路径标识的节点不存在,创建该节点;包括所有失踪的父母。如果节点已经存在,请添加具有相同键的兄弟。将新创建节点的值设置为给定的参数,使用提供的翻译器进行翻译。
再次引用本教程中的文档,给出以下将std::列表中的字符串添加到属性树的示例:
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>
相关文章:
- 使用 RapidXML 更新C++中的 XML 节点和属性值
- 按属性搜索和提取 XML 节点
- 给一个图 G 找到此图中的所有节点 blob,以便 node.color 属性 = 特定颜色
- 尝试使用 RapidXML 将唯一的 XML 属性追加到节点
- 如何将按钮添加到节点的属性编辑器面板,该面板调用该节点内的方法?
- 使用 CDT 从头文件中获取属性定义的节点元素是什么
- 提升属性树:使用指向节点及其父节点的指针删除节点
- Boost::p tree - 访问列表中包含的属性树节点
- 有没有一种方便的方法可以从属性树中删除节点,同时保留其子节点
- 具有可移动节点、可访问属性和可靠ID的C++图
- PugixML:找出 XPath 是否与特定节点/属性匹配
- 指向节点的指针不更新节点属性
- 使用 Pugixml 解析使用 C++ 但无法获取所有节点属性的数据
- 提升属性树:删除节点
- XML 获取节点的属性值
- 将子节点添加到 XML 结构的顶部.提升属性树
- 将自定义属性分组到 Maya 中的节点
- 是否有任何方法可以使用c++ libgraph为子图设置默认节点属性?
- c++ Boost属性树通过属性限定符更新现有节点
- 将具有相同键的节点添加到属性树中