资源简介
QT对XML进行,创建文件,添加节点,查找节点,删除节点,在节点下添加键值,读取指定节点下键值。最多支持4层节点。如果要需要在多级的节点进行操作,可以参照我的函数进行添加重载函数,很方便的。
代码片段和文件信息
#include “ModelConfigurationxml.h“
#include
#include
#include
ModelConfigurationxml::ModelConfigurationxml()
{
}
void ModelConfigurationxml::createxml(QString filename)
{
QFile file(filename);
file.open(QIODevice::ReadWrite);
QDomDocument doc;
// QDomProcessingInstruction instruction;
// instruction = doc.createProcessingInstruction(“xml““version=\“1.0\“ encoding=\“GB2312\““);
// doc.appendChild(instruction);
QDomElement root = doc.createElement(“YiChiProject“);
doc.appendChild(root);
QTextStream out(&file);
doc.save(out4);
file.close();
}
// 添加1级节点
void ModelConfigurationxml::addNode(QString filenameQString node1)
{
QFile file(filename);
if (!file.open(QIODevice::ReadOnly | QFile::Text)) {
qDebug()<<“addRootNode open for add error...“ ;
}
QDomDocument doc;
doc.setContent(&file false);
file.close();
QDomElement root = doc.documentElement();
QDomNode nd = findNode(root node1);
if(nd.isNull()){ //检查节点是不是不存在
QDomElement child = doc.createElement(node1);
root.appendChild(child);
}
if(!file.open(QIODevice::WriteOnly|QIODevice::Truncate))
qDebug() << “open for add error!“;
QTextStream out(&file);
doc.save(out4);
file.close();
}
// 添加二级节点
void ModelConfigurationxml::addNode(QString filename QString node1 QString node2)
{
QFile file(filename);
if (!file.open(QIODevice::ReadOnly)) {
qDebug()<<“addRootChildNode open for add error...“ ;
}
QDomDocument doc;
doc.setContent(&file false);
file.close();
QDomElement root = doc.documentElement();
//查找这个步骤
QDomNode nd1 = findNode(root node1);
if(nd1.isNull()){ // 检查rootNode节点是否存在
addNode(filename node1);
file.open(QIODevice::ReadOnly);
doc.setContent(&file false);
file.close();
root = doc.documentElement();
}
QDomNode nd2 = findNode(root node1 node2);
if(nd2.isNull()){ // 检查node节点是否存在
nd1 = findNode(root node1); // 此处nd1必须重新查找1次 上一次nd1和这次nd1查找的节点,不是在同一个doc下
QDomElement nd22 = doc.createElement(node2);
nd1.appendChild(nd22);
}
if(!file.open(QIODevice::WriteOnly|QIODevice::Truncate))
qDebug() << “open for add error!“;
QTextStream out(&file);
doc.save(out4);
file.close();
}
// 添加3级节点
void ModelConfigurationxml::addNode(QString filename QString node1 QString node2 QString node3)
{
QFile file(filename);
if (!file.open(QIODevice::ReadOnly)) {
qDebug()<<“addNode3 open for add error...“ ;
}
QDomDocument doc;
doc.setContent(&file false);
file.close();
QDomElement root = doc.documentElement();
QDomNode nd1 = findNode(root node1);
if(nd1.isNull()){
addNode(filename node1);
file.open(QIODevice::ReadOnly);
doc.setContent(&file false);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-05 11:19 xm
文件 17922 2014-05-05 11:14 xm
文件 2439 2014-05-05 11:14 xm
- 上一篇:QUARTUS的fpga中生成正弦波实验报告
- 下一篇:图像压缩编码
相关资源
- 新英格兰10机39节点标准测试系统数据
- 9节点潮流计算
- IEEE30节点、14节点数据
- 绝对节点坐标法
- 批量提取CAD中多段线各节点坐标并导
- Duilib中的可拖放节点的树实现
- erlang启动多节点,跨节点调用函数
- 北京动力节点SSH和SSM框架讲义完整版
- SwitchyOmega高速节点1024
- 练习2:访问当当购物车页面节点
- 五节点各种潮流计算程序
- 北京动力节点-教学视频资源库-SVN系列
- GAMS IEEE14节点潮流程序
- IEEE 14节点的仿真模型
- IEEE9节点参数转换
- IEEE 各个节点的系统接线图 VISIO版本
- IEEE 14节点潮流计算
- 多叉树的遍历,可以打印出树形结构
- 工业互联网二级节点建设导则试行本
- IEEE9节点PSCAD仿真算例增加SFCL!
-
读取xm
l,生存生成树形节点 - 动态从数据库中绑定TreeView节点
- 动力节点 SSM和SSH视频,源码及讲义
- IEEE39节点接线图.vsd
- 前推回代IEEE33节点潮流计算程序
- TreeView 带图片及内容的节点拖拽
- 选煤厂无线点检系统节点模块节能的
- 论文研究 - 具有可再生能源和决策单
- 基于单片机的Zigbee传感器节点硬件设
- mib2中节点的详细中文描述
评论
共有 条评论