QT开发中文网

使用QDomDocument解析xml文件

使用QDomDocument解析XML文件的示例代码如下:

#include <QFile>
#include <QtXml/QDomDocument>
#include <QDebug>

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

    QDomDocument xmlDocument;
    if (!xmlDocument.setContent(&file))
    {
        qDebug() << "Failed to parse XML content.";
        file.close();
        return -1;
    }

    QDomElement root = xmlDocument.documentElement();
    QDomNodeList itemList = root.elementsByTagName("item");

    for (int i = 0; i < itemList.size(); ++i)
    {
        QDomElement itemElement = itemList.at(i).toElement();

        // 解析item元素的属性
        QString id = itemElement.attribute("id");
        qDebug() << "Item ID:" << id;

        // 解析item元素的文本内容
        QString text = itemElement.text();
        qDebug() << "Item Text:" << text;
        
        // 解析item元素的子元素,如果有
        QDomNodeList childNodes = itemElement.childNodes();
        for (int j = 0; j < childNodes.size(); ++j)
        {
            QDomNode childNode = childNodes.at(j);
            
            // 处理子元素...
            // ...
        }
        
        // 如果需要递归遍历更深层次的XML节点,可以编写一个递归函数进行处理
    }

    file.close();

    return 0;
}

请根据实际需要修改XML文件路径和解析逻辑,并引入必要的头文件和命名空间。以上示例代码仅提供了基本的XML解析操作,你可以根据实际需求进行扩展和修改。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=7271

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?