Qt阅读XML结构

时间:2016-04-12 14:36:19

标签: c++ qt5.5 qxmlstreamreader

我正在使用Qt5.5,我想将XML文件读入内存,维护节点和关系的结构和属性。

到目前为止,我一直在使用QXmlStreamReader,但这并没有做太多事情,我看不到任何明显的方法来构建节点之间的关系。

我最终想要的是将XML读入链表,其中根节点与根xml节点相同,其他节点是其中的子节点。

经过一番搜索后,我找到了QDomDocument和QDomElement,但为了使用这些,必须修改'.pro'文件并将xml附加到QT行。

1 个答案:

答案 0 :(得分:1)

你想要的是一个DOM解析器。它提供了XML数据的树状模型(文档对象模型),您可以遍历,修改和存储到文件。

QXmlStreamReader提供了一个非常简单的界面,类似于SAX解析器。如果您只需要从XML格式中提取数据,则可能就足够了。 (对于编写简单的XML,还有一个QXmlStreamWriter)。 这两个类包含在Qt核心模块中

如果您需要更强大的XML Parser,Qt XML模块提供真正的SAX Parser(QXmlSimpleReader)和DOM Parser(QDomDocument)。您可以通过在专业文件中添加qt += xml来激活qmake项目。