我正在使用 Qt5.5,我想将 XML 文件读入内存,维护节点和关系的结构和属性。
到目前为止,我一直在使用 QXmlStreamReader,但这并没有真正起到多大作用,而且我看不到任何明显的方式来建立节点之间的关系。
我最终想要的是将 XML 读入一个链表,其中根节点与根 xml 节点相同,其他节点是它的子节点。
经过一番搜索,我找到了 QDomDocument 和 QDomElement,但是为了使用它们,必须修改“.pro”文件,并且应该将 xml 附加到 QT 行。
我正在使用 Qt5.5,我想将 XML 文件读入内存,维护节点和关系的结构和属性。
到目前为止,我一直在使用 QXmlStreamReader,但这并没有真正起到多大作用,而且我看不到任何明显的方式来建立节点之间的关系。
我最终想要的是将 XML 读入一个链表,其中根节点与根 xml 节点相同,其他节点是它的子节点。
经过一番搜索,我找到了 QDomDocument 和 QDomElement,但是为了使用它们,必须修改“.pro”文件,并且应该将 xml 附加到 QT 行。
你想要的是一个 DOM 解析器。它提供了 XML 数据的树状模型(文档对象模型),您可以对其进行遍历、修改和存储到文件中。
QXmlStreamReader
提供了一个非常简单的接口,类似于 SAX 解析器。如果您只需要从 XML 格式的文本中提取数据,这可能就足够了。(对于编写简单的 XML,还有一个 QXmlStreamWriter
)。这两个类包含在 Qt Core 模块中
如果您需要更强大的 XML 解析器,Qt XML 模块提供了一个真正的 SAX 解析器 ( QXmlSimpleReader
) 和一个 DOM 解析器 ( QDomDocument
)。qt += xml
您可以通过添加配置文件来激活 qmake 项目。