Qt读取XML结构
问题描述:
我正在使用Qt5.5,我想将XML文件读入内存,维护节点和关系的结构和属性。Qt读取XML结构
到目前为止,我一直在使用QXmlStreamReader,但是这并没有真正做太多,我也看不到任何明显的方式来构建节点之间的关系。
我最终想要的是将XML读取到链接列表中,其中根节点与根节点xml节点相同,其他节点是此节点的子节点。
经过一番探索,我找到了QDomDocument和QDomElement,但是为了使用这些'.pro'文件必须被修改并且xml应该被追加到QT行。
答
你想要的是一个DOM解析器。它提供了XML数据的树状模型(Document Object Model),您可以遍历,修改和存储到文件中。
QXmlStreamReader
提供了一个类似于SAX解析器的非常简单的接口。如果您只需从XML文本文本中提取数据,则可能就足够了。 (为了编写简单的XML,还有一个QXmlStreamWriter
)。 这两个类都包含了Qt核心模块
中如果你需要一个更强大的XML解析器,Qt的XML模块提供了一个真正的SAX解析器(QXmlSimpleReader
)和DOM解析器(QDomDocument
)。您可以通过在pro-file中添加qt += xml
来激活qmake项目。
你有没有考虑过使用'QDomDocument'? –
现在就看看这个...... QtomElement和QDomDocument在Qt5.5中可用吗? – SPlatten
用google搜索“qt5 qdomdocument”可以找到很少的结果...... – hyde