2024年6月7日发(作者:)

Qt之解析XML元素(QXmlStreamReader)

简述

对于 XML 的内容,通常情况下,我们只关心 XML 元素的解析。这时,可以通过

QXmlStreamReader 中的便利函数 readNextStartElement() 来实现。

简述

详细介绍

使用

更多参考

详细介绍

之前使用的方式主要使用 readNext() 来读取下一个标记,并返回对应的类型。

QXmlStreamReader xml;

...

while (!()) {

xt();

... // 做处理

}

if (or()) {

... // 做错误处理

}

这对于读取注释、字符、DTD、结束标签等类型比较方便。当只关心 XML 元素的解

析,这时,此种方式就显得比较复杂了,下面介绍一种简单方式。

在介绍之前,先明确一个概念:

当前元素:

当前元素是匹配最近解析的开始元素的元素,其中匹配的结束元素尚未到达。当解析

器到达结束元素时,当前元素将成为父元素。

下面,主要用到 QXmlStreamReader 的两个接口:

bool readNextStartElement()

读取,直到当前元素的下一个开始元素。当达到开始元素时,返回 true;当达到结束

元素或发生错误时,返回 false。