{“Model”:{"feiji":{"Name":"飞机"}}}这样的xml文件QT该怎么读取数据
时间: 2023-08-20 08:08:00 浏览: 38
您提供的示例数据不是一个标准的XML格式,而是一个JSON格式的数据。如果您想在QT中读取这个JSON数据,可以使用QT的Json模块来实现。以下是一个简单的示例代码:
```cpp
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString jsonStr = "{\"Model\":{\"feiji\":{\"Name\":\"飞机\"}}}";
QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonStr.toUtf8());
if (jsonDoc.isNull()) {
qDebug() << "Failed to parse JSON.";
return 1;
}
QJsonObject jsonObj = jsonDoc.object();
if (jsonObj.isEmpty()) {
qDebug() << "JSON object is empty.";
return 1;
}
QJsonObject modelObj = jsonObj["Model"].toObject();
if (modelObj.isEmpty()) {
qDebug() << "Model object is empty.";
return 1;
}
QJsonObject feijiObj = modelObj["feiji"].toObject();
if (feijiObj.isEmpty()) {
qDebug() << "feiji object is empty.";
return 1;
}
QString name = feijiObj["Name"].toString();
qDebug() << "Name:" << name;
return a.exec();
}
```
上述代码中,我们使用QT的Json模块解析JSON字符串,并按照层级结构获取所需的数据。在这个例子中,我们获取了"Name"字段的值并打印出来。您可以根据实际的JSON数据结构进行相应的修改和处理。记得在.pro文件中添加QT += core和QT += network的依赖项。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)