QT开发中文网

qt使用xml

在Qt中,可以使用QXmlStreamReader和QXmlStreamWriter类来解析和生成XML文档。

QXmlStreamReader类表示一个XML读取器,可以从一个XML文件或字符串读取XML数据。它提供了很多方法来获取XML节点的信息,如节点名称、属性、文本等。

以下是一个简单的例子,演示如何使用QXmlStreamReader从一个XML文件中读取数据:

#include <QCoreApplication>
#include <QFile>
#include <QXmlStreamReader>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile file("example.xml");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        return 1;

    QXmlStreamReader reader(&file);
    while (!reader.atEnd())
    {
        if (reader.isStartElement())
            qDebug() << "Element: " << reader.name();
        else if (reader.isEndElement())
            qDebug() << "End element: " << reader.name();

        reader.readNext();
    }

    file.close();
    return a.exec();
}

这个程序打印出了XML文档中所有的元素名称和结束标记名称。

QXmlStreamWriter类表示一个XML写入器,用于将XML数据写入到一个文件或字符串中。它提供了一系列方法来写入XML节点、属性、文本等。

以下是一个简单的例子,演示如何使用QXmlStreamWriter将数据写入到一个XML文件中:

#include <QCoreApplication>
#include <QFile>
#include <QXmlStreamWriter>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile file("example.xml");
    if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
        return 1;

    QXmlStreamWriter writer(&file);
    writer.setAutoFormatting(true);

    writer.writeStartDocument();
    writer.writeStartElement("books");

    writer.writeStartElement("book");
    writer.writeAttribute("id", "001");
    writer.writeTextElement("title", "The Great Gatsby");
    writer.writeTextElement("author", "F. Scott Fitzgerald");
    writer.writeEndElement();

    writer.writeEndElement();
    writer.writeEndDocument();

    file.close();
    return a.exec();
}

这个程序创建了一个名为“example.xml”的XML文件,其中包含一个名为“books”的根元素和一个名为“book”的子元素。在子元素中,还写入了两个文本元素和一个属性。

以上是Qt中使用XML的简单介绍,更多详细信息可以查阅Qt文档。

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?