在C/C++中管理分层数据

Managing hierarchical data in C/C++

本文关键字:管理 分层 数据 C++      更新时间:2023-10-16

目前我正在研究在C/C++中管理分层数据(来自XML)。我需要解析XML文件并将其有效地存储在数据库中,这样我以后就可以查询数据库了。欢迎对此提出任何建议。

我偶然发现在MySQL中管理分层数据。这看起来不错,但仍然想知道是否有其他方法可以做到。

如果仔细阅读文档,您会发现有两种存储分层数据的方式,一种是使用"parent_ID",另一种使用"left_sbling_ID"&"right_sbling_ID"。

我建议使用第一个:

myxmltable={myxmltable_ID,myxmltable_parent_ID,myxmltable_otherfield_1,…}

此外,您可以存储所有项目,其中键>0。根项的父项可以是0,这意味着它没有父项。我建议避免使用NULL,以便更容易处理D.B.,而使用0。

XML存储分层数据,这与SQL的关系方法不太匹配。我强烈建议您查看XPath/XXQuerys,它们是直接对XML进行操作的查询语言。Qt包含一个XQuery库,我使用过这个库,结果很好。