qt将struct写入xml
时间: 2023-11-09 21:05:52 浏览: 124
在Qt中,可以使用QXmlStreamWriter类来将结构体写入XML文件中。以下是一个简单的示例代码:
```c++
#include <QCoreApplication>
#include <QXmlStreamWriter>
#include <QFile>
struct Person {
QString name;
int age;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Person person = {"John Doe", 30};
QFile file("person.xml");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
qDebug() << "Failed to open file for writing";
return -1;
}
QXmlStreamWriter writer(&file);
writer.setAutoFormatting(true);
writer.writeStartDocument();
writer.writeStartElement("person");
writer.writeTextElement("name", person.name);
writer.writeTextElement("age", QString::number(person.age));
writer.writeEndElement();
writer.writeEndDocument();
qDebug() << "XML file written successfully!";
return a.exec();
}
```
在上面的示例中,我们定义了一个名为Person的结构体,其中包含一个名为name的QString类型成员和一个名为age的int类型成员。我们将这个结构体写入名为person.xml的XML文件中。首先,我们使用QFile类打开文件以进行写入。然后,我们使用QXmlStreamWriter类将XML文档写入文件中。在这个例子中,我们只写入了一个person元素,其中包含两个子元素name和age,它们分别对应于Person结构体中的name和age成员。最后,我们关闭文件并输出一个成功的消息。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的结构和更多的元素。
阅读全文