Qt中修改XML文件中的节点值

丁老师的技术随笔 丁老师的技术随笔 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
不能修改XML文件的节点
xml文件:
<kdevelop>
<general>
<author>zeki</author>
<email>caizhiming@tom.com</email>
</general>
</kdevelop>

我写的源码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtXml>
#include <QDebug>
#include <QFile>
#include <QTextStream>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDomDocument dom;
QFile *file=new QFile("/home/qust/qt/XML/2.xml");
if(file->open(QIODevice::ReadOnly|QIODevice::WriteOnly))
{
dom.setContent(file);

}

QDomNodeList email=dom.documentElement().elementsByTagName("email");
qDebug()<<email.count();//打印 1
qDebug()<<email.item(0).toElement().text();//打印caizhiming@tom.com
QDomNode oldnode =email.item(0);

QDomText newnode=dom.createTextNode("99629968@qq.com");
email.at(0).replaceChild(newnode,oldnode);
QTextStream out(file);
dom.save(out,4);
file->close();

}

MainWindow::~MainWindow()
{
delete ui;
}
不能修改XML文件,运行后打开xml文件出现

XML解析错误:废弃 document 元素之后的内容
位置:file:///home/qust/qt/XML/2.xml
行:8,列:1:<?xml version='1.0'?>

^

该怎么修改xml 中节点的值呢??为什么不能使用setNodeValue()方法来修改接点的值???

大家帮帮忙,谢谢!!!
...全文
评论 8
收藏 已收藏
分享
返回顶部
丁老师的技术随笔
Qt 21,503 成员 26,693 内容