依赖的头文件:
#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;
}