目前我正在研究如何在C / C ++中管理分层数据(来自XML)。我需要解析XML文件并将它们有效地存储在数据库中,所以我应该可以稍后查询数据库。对此有任何建议都是最受欢迎的。
我遇到了Managing Hierarchical Data in MySQL。 这看起来不错,但仍然想知道是否还有其他方法可以做到。
答案 0 :(得分:0)
如果您仔细阅读该文档,您会发现有两种方式存储分层数据,一种使用“parent_ID”,另一种使用“left_sibling_ID”& “right_sibling_ID”。
我建议使用第一个:
myxmltable = {myxmltable_ID,myxmltable_parent_ID,myxmltable_otherfield_1,...}
此外,您可以使用键>存储所有商品。 0.根项的父键可以是0,表示它没有父项。我建议避免使用NULL,以便更容易处理你的D.B.而是使用0代替。
答案 1 :(得分:0)
XML存储的分层数据与SQL的关系方法不相符。我强烈建议您查看XPath / XQuery,它们是直接在XML上运行的查询语言。 Qt包含一个我用过的XQuery库,效果很好。