我正在使用Qt5.5,我想将XML文件读入内存,维护节点和关系的结构和属性。
到目前为止,我一直在使用QXmlStreamReader,但这并没有做太多事情,我看不到任何明显的方法来构建节点之间的关系。
我最终想要的是将XML读入链表,其中根节点与根xml节点相同,其他节点是其中的子节点。
经过一番搜索后,我找到了QDomDocument和QDomElement,但为了使用这些,必须修改'.pro'文件并将xml附加到QT行。
答案 0 :(得分:1)
你想要的是一个DOM解析器。它提供了XML数据的树状模型(文档对象模型),您可以遍历,修改和存储到文件。
QXmlStreamReader
提供了一个非常简单的界面,类似于SAX解析器。如果您只需要从XML格式中提取数据,则可能就足够了。 (对于编写简单的XML,还有一个QXmlStreamWriter
)。
这两个类包含在Qt核心模块中
如果您需要更强大的XML Parser,Qt XML模块提供真正的SAX Parser(QXmlSimpleReader
)和DOM Parser(QDomDocument
)。您可以通过在专业文件中添加qt += xml
来激活qmake项目。