1、现在工程目录下创建一个xml文件
2、话不多说,上代码
#include<QCoreApplication>
#include<QtXml>
int main(int argc,char* argv[])
{
QCoreApplication a(argc,argv);
//創建QDomDocument类对象,它代表一个xml文档
QDomDocument doc;
QFile file("../myDOM1/my.xml");
if(!file.open(QIODevice::ReadOnly)) return 0;
//将文件内容读入到doc中
if(!doc.setContent(&file))
{
file.close();
return 0;
}
//关闭文件
file.close();
//获取doc的第一个节点,即XML说明
QDocument firstNode = doc.firstChild();
//输出XML说明,nodeName()为'XML',nodeValue()为版本和编码信息
qDebug()<<qPrintable(firstNode.nodeName())<<qPrintable(firstNode.nodeValue());
//返回根元素
QDomElement docElem = doc.documentElement();
//返回根节点的第一个节点
QDocument n=docElem.firstChild();
//如果节点不为空,则转到下一个节点
while(!n.isNull())
{
//如果节点是元素
QDocument e=n.toElement();
//返回元素标记和id属性的值
qDebug()<<qPrintable(e.tagName())<<qPrintablwe(e.attribute("id"));
//获得元素e的所有子节点的列表
QDocumentList list = e.childNodes();
//遍历该列表
for(int i=0;i<list.count();i++)
{
QDomNode node = list.at(i);
if(node.isElement())
qDebug()<<" "<<qPrintable(node.toElement().tagName())<<qPrintable(node.toElement().text());
}
}
//转移到下一个兄弟节点
n = n.nextSibling();
}
return a.exec();
}
3、执行结果,读出XML 信息