如何在Qt中读取XML节点的属性?

时间:2012-08-30 12:25:38

标签: xml qt qxmlstreamreader

我需要读取a,b,c值(等于a,b,c是某些属性的名称)foreach节点并将它们列在表中,但我不知道如何读取节点值。你能给出一个示例代码吗?

提前致谢

1 个答案:

答案 0 :(得分:8)

QFile file("file.xml");
if (file.open(QIODevice::ReadOnly)) {
    QXmlStreamReader reader(file.readAll());
    file.close();
    while(!reader.atEnd()) {
        reader.readNext();
        if (reader.isStartElement()) {
            if (reader.name() == "node_name") {
                foreach(const QXmlStreamAttribute &attr, reader.attributes()) {
                    if (attr.name().toString() == QLatin1String("attribute_name")) {
                        QString attribute_value = attr.value().toString();
                        // do something
                    }
                }
            }
        }
    }
}