2

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

到目前为止,我一直在使用 QXmlStreamReader,但这并没有真正起到多大作用,而且我看不到任何明显的方式来建立节点之间的关系。

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

经过一番搜索,我找到了 QDomDocument 和 QDomElement,但是为了使用它们,必须修改“.pro”文件,并且应该将 xml 附加到 QT 行。

4

1 回答 1

1

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

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

如果您需要更强大的 XML 解析器,Qt XML 模块提供了一个真正的 SAX 解析器 ( QXmlSimpleReader) 和一个 DOM 解析器 ( QDomDocument)。qt += xml您可以通过添加配置文件来激活 qmake 项目。

于 2016-04-12T15:51:58.350 回答