2021-03-21

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 信息
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值