Qt 操作QDomDocument对象修改节点
来源:互联网 发布:传淘宝工具怎么使用 编辑:程序博客网 时间:2024/06/07 10:27
代码部分:
QFile file(filePath);
if (!file.open(QFile::ReadOnly | QFile::Text)){
QMessageBox::critical(NULL,tr("错误"),tr("无法打开%1文件").arg(filePath),QMessageBox::Ok);
return;
}
QString error;
int row = 0;
int col= 0 ;
QDomDocument dom;
if (!dom.setContent(&file, false, &error, &row, &col))
{
QMessageBox::warning(0, tr("error"), tr("错误%1, 行%2, 列%3").arg(error).arg(row).arg(col), QMessageBox::Yes);
file.close();
return;
}
QDomElement root = dom.documentElement();// 根节点
QDomNodeList nlist = root.elementsByTagName("tag"); //要修改的tag
for (int i=0; i<nlist.count(); i++)
{
QDomElement ele = nlist.at(i).toElement();
//关键1
QDomNode oldNode = ele.firstChild(); //旧节点ele.firstChild().setNodeValue(QString::number(channel)); //改值
QDomNode newNode = ele.firstChild(); //新节点
ele.replaceChild(newNode, oldNode); //替换
}
file.close();
//关键2
QFile wfile(filePath);if (!wfile.open(QIODevice::WriteOnly))
{
QMessageBox::critical(NULL,tr("错误"),tr("无法打开%1文件").arg(filePath),QMessageBox::Ok);
return;
}
QTextStream out(&wfile);
QString save = dom.toString();
out << dom.toString();
wfile.close();
用一个dom对象,两个文件对象, 一个读打开修改,令一个重写, 直接修改不成功.
0 0
- Qt 操作QDomDocument对象修改节点
- Qt的Xml操作QDomDocument
- qt QDomDocument
- Qt学习:QDomDocument
- Qt学习:QDomDocument
- qt xml QDomDocument 方式读
- QT QDomDocument 读写XML文件
- QT QDomDocument写xml格式
- Qt中QDomDocument,读取txt文件和xml文件,并且修改xml文件和保存修改后的文件
- QT XML文件 修改节点
- Qt QDomDocument的setContent报错问题
- Qt 读取XML,QDomNode,QDomDocument,QDomElement,QDomAttr
- Qt解析XML文件(QDomDocument)
- 初识---Qt解析XML文件(QDomDocument)
- QT QDomDocument读取XML文件内容
- qt使用QDomDocument写xml(qt,xml,dom
- Qt之Dom添加和修改节点
- DOM对象-节点的操作
- socket通信相关
- Rabbit and Grass(杭电1849)(尼姆博弈)
- codeforces#277.5 C. Given Length and Sum of Digits
- git difftool 三方比较
- Meal WaitPerson and Chef
- Qt 操作QDomDocument对象修改节点
- 安装Oracle EBS12.2并升级到12.2.3
- php学习笔记(九)htmlspecialchars
- Java中枚举类型的使用
- 用c语言统计文件中某个汉字的个数
- 位操作及应用
- Android Canvas绘图详解
- java 排序法
- C++11 多线程