Boost的属性树:删除一个知道其路径的孩子
Posted
技术标签:
【中文标题】Boost的属性树:删除一个知道其路径的孩子【英文标题】:Boost's property tree: deleting a child knowing its path 【发布时间】:2015-03-05 15:15:24 【问题描述】:是否可以从路径已知的属性树中轻松删除子项(及其最终的子项)?
以下
auto child = ptree.get_child(path);
child.clear();
实际上并没有删除孩子,而只是删除了它的内容。
erase
成员函数采用迭代器或键。我不知道有一种简单的方法可以找到与路径对应的迭代器,而不必遍历树。
可以通过在点字符处拆分路径并erase
ing 其余部分来找到“根”子级。但是有没有更容易/更短的到达那里的方法?
【问题讨论】:
【参考方案1】:你可以这样做:ptree.get_child("path.to").erase("child");
请注意,这会删除路径“path.to”及其子子级中名为“child”的所有节点。
【讨论】:
以上是关于Boost的属性树:删除一个知道其路径的孩子的主要内容,如果未能解决你的问题,请参考以下文章