多层嵌套的xml 文件读取

复制代码
#include <QXmlStreamReader>
#include <QFile>
#include <QDebug>

int main()
{
    QFile file("example.xml");
    if (!file.open(QFile::ReadOnly | QFile::Text)) {
        qDebug() << "Failed to open file.";
        return -1;
    }

    QXmlStreamReader reader(&file);

    while (!reader.atEnd() && !reader.hasError()) {
        QXmlStreamReader::TokenType token = reader.readNext();
        if (token == QXmlStreamReader::StartDocument) {
            continue;
        }

        if (token == QXmlStreamReader::StartElement) {
            qDebug() << reader.name().toString() << ":";
            QXmlStreamAttributes attributes = reader.attributes();
            for (int i = 0; i < attributes.size(); i++) {
                qDebug() << "  " << attributes[i].name().toString() << " = " << attributes[i].value().toString();
            }
        }

        if (token == QXmlStreamReader::EndElement) {
            qDebug() << "";
        }

        if (token == QXmlStreamReader::Characters) {
            QString text = reader.text().toString().trimmed();
            if (!text.isEmpty()) {
                qDebug() << "  " << text;
            }
        }
    }

    if (reader.hasError()) {
        qDebug() << "XML error: " << reader.errorString();
    }

    file.close();

    return 0;
}
复制代码

 

posted @   SusieSnail_SUN  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示