使用QDomDocument解析XML文件的示例代码如下:
#include <QFile>
#include <QtXml/QDomDocument>
#include <QDebug>
int main()
{
QFile file("example.xml");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug() << "Failed to open the file.";
return -1;
}
QDomDocument xmlDocument;
if (!xmlDocument.setContent(&file))
{
qDebug() << "Failed to parse XML content.";
file.close();
return -1;
}
QDomElement root = xmlDocument.documentElement();
QDomNodeList itemList = root.elementsByTagName("item");
for (int i = 0; i < itemList.size(); ++i)
{
QDomElement itemElement = itemList.at(i).toElement();
// 解析item元素的属性
QString id = itemElement.attribute("id");
qDebug() << "Item ID:" << id;
// 解析item元素的文本内容
QString text = itemElement.text();
qDebug() << "Item Text:" << text;
// 解析item元素的子元素,如果有
QDomNodeList childNodes = itemElement.childNodes();
for (int j = 0; j < childNodes.size(); ++j)
{
QDomNode childNode = childNodes.at(j);
// 处理子元素...
// ...
}
// 如果需要递归遍历更深层次的XML节点,可以编写一个递归函数进行处理
}
file.close();
return 0;
}
请根据实际需要修改XML文件路径和解析逻辑,并引入必要的头文件和命名空间。以上示例代码仅提供了基本的XML解析操作,你可以根据实际需求进行扩展和修改。
内容由零声教学AI助手提供,问题来源于学员提问