在 Qt 中,可以使用 QDomDocument 类来读取 XML 文件。
首先需要包含 QtCore 和 QtXml 模块:
#include <QtCore>
#include <QtXml>
接着,创建一个 QDomDocument 对象,并加载 XML 文件:
QDomDocument doc;
QFile file("test.xml");
if (!file.open(QIODevice::ReadOnly)) {
// 处理文件打开失败的情况
return;
}
if (!doc.setContent(&file)) {
// 处理 XML 解析失败的情况
file.close();
return;
}
file.close();
解析成功后,可以通过 QDomNodeIterator 遍历 XML 文档中的节点:
QDomNodeList nodes = doc.documentElement().childNodes();
for (int i = 0; i < nodes.count(); i++) {
QDomElement elem = nodes.at(i).toElement();
if (!elem.isNull()) {
QString tag = elem.tagName();
QString text = elem.text();
// 处理节点信息
}
}
其中,QDomNodeList 表示一组 QDomNode 节点对象的列表,可以通过 QDomNode 的 toElement() 方法将其转换为 QDomElement 对象,然后访问其标签名和文本内容。