C++ DOM解析器中的SetContent错误

C++ DOM解析器中的SetContent错误,c++,qt,dom,C++,Qt,Dom,我正在尝试读取和写入一个XML文件,我正在使用DOM解析器读取XML文件,并使用xmlputget进行写入。 这是密码 void主窗口::在保存按钮上单击() { XML(); XML1(); XML2(); XML3(); XML4(); XML5(); } void::MainWindow::XML() { QString path=ui->lineEdit_7->text(); QFile infle(路径); 如果(!infle.open(QIODevice::ReadWrite |

我正在尝试读取和写入一个XML文件,我正在使用
DOM
解析器读取XML文件,并使用
xmlputget
进行写入。 这是密码

void主窗口::在保存按钮上单击()
{
XML();
XML1();
XML2();
XML3();
XML4();
XML5();
}
void::MainWindow::XML()
{
QString path=ui->lineEdit_7->text();
QFile infle(路径);
如果(!infle.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“打开文件读取失败”);
}
qdomdom文档;
if(!dom.setContent(&infle))
{
qDebug(“未能将文件解析为DOM树”);
infle.close();
}
QdomeElement docElem=dom.documentElement();
QDomNodeList节点=docElem.elementsByTagName(“ABC”);
QDomNode parentNode=node.at(0.parentNode();
parentNode.removeChild(节点.at(0));
QFile输出文件(路径);
如果(!outFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“无法打开文件进行写入”);
}
QTextStream流(&outFile);
流线编辑_7->text();
QFile infle(路径);
如果(!infle.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“打开文件读取失败”);
}
qdomdom文档;
if(!dom.setContent(&infle))
{
qDebug(“未能将文件解析为DOM树”);
infle.close();
}
QdomeElement docElem=dom.documentElement();
QDomNodeList节点=docElem.elementsByTagName(“文件”);
QDomNode parentNode=node.at(0.parentNode();
parentNode.removeChild(节点.at(0));
QFile输出文件(路径);
如果(!outFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“无法打开文件进行写入”);
}
QTextStream流(&outFile);
流线编辑_7->text();
QFile infle(路径);
如果(!infle.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“打开文件读取失败”);
}
qdomdom文档;
if(!dom.setContent(&infle))
{
qDebug(“未能将文件解析为DOM树”);
infle.close();
返回;
}
QdomeElement docElem=dom.documentElement();
QDomNodeList节点=docElem.elementsByTagName(“主”);
QDomNode parentNode=node.at(0.parentNode();
parentNode.removeChild(节点.at(0));
QFile输出文件(路径);
如果(!outFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“无法打开文件进行写入”);
}
QTextStream流(&outFile);
流线编辑_7->text();
QFile infle(路径);
如果(!infle.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“打开文件读取失败”);
}
qdomdom文档;
if(!dom.setContent(&infle))
{
qDebug(“未能将文件解析为DOM树”);
infle.close();
返回;
}
QdomeElement docElem=dom.documentElement();
QDomNodeList节点=docElem.elementsByTagName(“根”);
QDomNode parentNode=node.at(0.parentNode();
parentNode.removeChild(节点.at(0));
QFile输出文件(路径);
如果(!outFile.open(QIODevice::ReadWrite | QIODevice::Text))
{
qDebug(“无法打开文件进行写入”);
}
QTextStream流(&outFile);

stream您试图多次以“读写”权限打开同一文件,而不在每个函数结束时关闭

inFile.close();
关闭或填充以释放每个XMLn函数末尾的r/w令牌

inFile.close();
或者只使用“读取”权限打开文件


您试图多次以“读写”权限打开同一文件,而不在每个函数结束时关闭

inFile.close();
关闭或填充以释放每个XMLn函数末尾的r/w令牌

inFile.close();
或者只使用“读取”权限打开文件


也许是因为infle在XML()中没有关闭,也许是因为infle在XML()中没有关闭