最近在做关于xml的操作,读写都可以了,就是删除出了问题,以下是删除的代码,大家帮忙看看哪里出问题了,感激不尽!
QDomNodeList list = doc.elementsByTagName(tr("example"));//以标签名进行查找
for(int i=0; i<list.count(); i++)
{
QDomElement e = list.at(i).toElement();
if(e.attribute(tr("filename")) == filename)//如果元素的“编号”属性值与我们所查的相同
{
QDomElement root = doc.documentElement(); //取出根节点
root.removeChild(list.at(i)); //从根节点上删除该节点
qDebug() << i;
qDebug() << "remove ok !";
QFile fi("config.xml"); //保存更改
if(!fi.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) return ;
QTextStream out(&fi);
doc.save(out,4);
fi.close();
qDebug() << "save ok----------!";
return;
这个是xml文件,我准备删除的是某个example,按照filename查找,然后删除所在的example
<demolauncher>
<demos>
<example filename="../../../SrtTest/FileBrowser/browser" name="File Browser" image="screenshots/filebrowser.png"/>
<example filename="../../browser/browser" name="Internet Browser" image="screenshots/browser.png"/>
<example filename="../../../SrtTest/qshell" name="QT Shell" image="screenshots/qtshell.png"/>
<example filename="../../../SrtTest/WifiSet" name="Wifi Set(Click and Wait)" image="screenshots/WifiSet.png"/>
</demos>