我正在尝试建立联系人经理。我有一个数据结构,它有几个属性:
它是树状的,意味着每条信息都可以分成子项(每个节点都有子项)。例如,名为address
的字段可能包含street
,town
,postal code
等子字段。
节点不必是唯一的,例如email
字段的多个节点应该能够彼此相邻共存(在同一级别)
我希望能够使用类似路径的方式探索树,例如按路径访问节点:address.street
或name.first
。访问密钥多次出现的节点可以像email[2]
一样进行。
所以树看起来像:
contact
↳ name
↳ first "foo"
↳ last "von bar"
↳ email "foo@bar.com"
↳ email "baz@foo.de"
↳ address
↳ street "foostreet 42"
↳ town "barstadt"
↳ zip "04229"
↳ country "footopia"
↳ address
↳ street "barton alley 11"
↳ town "foostadt"
↳ zip "998877"
↳ country "alcabaz"
这是什么样的树?我尝试过使用Boost的property_tree
,但发现很难实现address
应该在高级别拆分的事实(Boost的标准方法会放street
,town
,...一个address
中的节点。)
欢迎任何想法。
答案 0 :(得分:0)