qt读取xml
时间: 2023-07-05 22:23:42 浏览: 117
要在Qt中读取XML文件,可以使用Qt自带的QXmlStreamReader类。
以下是一个简单的示例代码,演示如何使用QXmlStreamReader读取XML文件:
```c++
#include <QFile>
#include <QXmlStreamReader>
#include <QDebug>
int main()
{
// 打开XML文件
QFile file("example.xml");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qCritical() << "Failed to open file!";
return -1;
}
// 创建XML读取器
QXmlStreamReader reader(&file);
// 逐行读取XML文件内容
while (!reader.atEnd()) {
// 读取下一个XML元素
QXmlStreamReader::TokenType token = reader.readNext();
if (token == QXmlStreamReader::StartElement) {
// 如果是元素开始标签,输出元素名称和属性
qDebug() << "Element: " << reader.name();
QXmlStreamAttributes attrs = reader.attributes();
for (int i = 0; i < attrs.count(); i++) {
qDebug() << " Attribute: " << attrs[i].name() << "=" << attrs[i].value();
}
} else if (token == QXmlStreamReader::Characters) {
// 如果是纯文本内容,输出文本
qDebug() << "Text: " << reader.text();
}
}
// 关闭文件和XML读取器
file.close();
reader.clear();
return 0;
}
```
这个示例代码会读取名为“example.xml”的XML文件,并输出其中的元素名称、属性和文本内容。如果XML文件不存在或无法打开,程序会输出错误信息。
阅读全文