依赖的头文件:
- #include <QFile>
- #include <QString>
- #include <QtXml>
- #include <QDomDocument>
- #include <QDateTime>
#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;
- }