2

当我们尝试用 QT 解析一个 xml 文档时,我们使用类似的东西:

QString str;
QXmlStreamAttributes attrib = xml_reader.attributes();
if(attrib.hasAttribute("id"))
{
     str = attrib.value("id").toString();
}

为此,我需要知道该属性称为“id”。有没有办法在不知道其名称的情况下读取第一个属性?

提前致谢。

4

1 回答 1

3

QXmlStreamAttributes 类继承自QVector<QXmlStreamAttribute>. 这意味着您可以像使用 QVector 一样“循环”对象

您应该能够访问第一项:

attrib[0].name();  //containst a QStringRef to the name
attrib[0].value(); //containst a QStringRef to the value

顺便说一句,强烈建议您先检查 QVector 大小;)

attrib.size();     //contains the number of attributes
于 2013-10-11T08:58:22.457 回答