QT开发中文网

Qt Dom读写XML

Qt提供了一组类来读写XML文档,这些类都在QtXml模块中。下面是一个简单的例子,演示如何使用Qt Dom读写XML文档:

#include <QtXml>

int main()
{
    // 创建一个XML文档对象
    QDomDocument doc;

    // 创建根元素
    QDomElement root = doc.createElement("root");
    doc.appendChild(root);

    // 创建一个子元素
    QDomElement child = doc.createElement("child");
    root.appendChild(child);

    // 设置子元素的属性
    child.setAttribute("name", "Alice");

    // 创建一个文本节点
    QDomText text = doc.createTextNode("Hello, World!");
    child.appendChild(text);

    // 将文档写入文件
    QFile file("example.xml");
    if (file.open(QIODevice::WriteOnly))
    {
        QTextStream stream(&file);
        stream << doc.toString();
        file.close();
    }

    // 从文件中读取文档
    if (file.open(QIODevice::ReadOnly))
    {
        if (doc.setContent(&file))
        {
            // 遍历根元素的子元素
            QDomNodeList children = root.childNodes();
            for (int i = 0; i < children.size(); i++)
            {
                QDomNode child = children.at(i);
                if (child.isElement())
                {
                    QDomElement element = child.toElement();
                    QString name = element.tagName();
                    QString value = element.attribute("name");
                    QString text = element.text();
                    qDebug() << "Element: " << name << " Attribute: " << value << " Text: " << text;
                }
            }
        }
        file.close();
    }

    return 0;
}

这个例子创建了一个XML文档,将其写入文件example.xml中,然后从文件中读取文档并遍历其子元素。输出结果如下:

Element:  child  Attribute:  Alice  Text:  Hello, World!

这个例子只是Qt Dom读写XML的一个简单示例,Qt提供了更多的类和方法来处理XML文档,可以根据具体需求选择适合的方法。

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?