QT DOM方式写入xml文件

5 篇文章 1 订阅

依赖的头文件:

#include <QFile> 
#include <QString>
#include <QtXml>
#include <QDomDocument>
#include <QDateTime>

示例代码:


//写xml操作。sXmlFilePath:要写入的xml文件路径
int CAppletGenerator::addTaskMenuTreeItem(QString sXmlFilePath)
{
	QFile file(sXmlFilePath);
	if (!file.open(QFile::ReadOnly | QFile::Text)) {
		return -1;
	}

	QDomDocument domDocument;
	if (!domDocument.setContent(&file, true)) {
		file.close();
		return -1;
	}
	QDomElement tree      = domDocument.documentElement();
	QDomElement firstItem = tree.firstChildElement();

	//在firstitem上添加一个节点
	QDomElement secondItem = domDocument.createElement("item");

	//获取当前时间,用于节点的唯一性id
	QDateTime dt;
	QTime time;
	QDate date;
	dt.setTime(time.currentTime());
	dt.setDate(date.currentDate());
	QString currentDate = dt.toString("yyyyMMddhhmmss");

	//为节点添加属性
	secondItem.setAttribute("id",currentDate);
	secondItem.setAttribute("select","1");
	secondItem.setAttribute("text","节点");

	//添加元素节点到父节点
	firstItem.appendChild(secondItem);
	file.close();

	QFile fileModify(sXmlFilePath);
	if (!fileModify.open(QFile::WriteOnly | QFile::Text)){
		return -1;
	}

	//核心代码:Dom方式写xml文件
	QTextStream out(&fileModify);
	domDocument.save(out,4);
	fileModify.close();
	return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值