找回密码
 立即注册
收起左侧

Xml文件数据处理

8
回复
5122
查看
[复制链接]
累计签到:148 天
连续签到:1 天
来源: 2014-5-30 11:51:46 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
QDomElement root = doc.documentElement(); if(root.hasChildNodes())        {            QDomNodeList list=root.childNodes();              for(int j=0;j<list.count();j++)            {                root.removeChild(list.at(j));            }        }


这个程序怎么只删除一半的内容。假如12个数据。怎么才删除偶数的6个数据。奇数的6个数据还存在      
回复

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-30 15:53:02 显示全部楼层
for(int j=0;j<list.count() / 2;j++) {
root.removeChild(list.at(2 * j));}

点评

我是想删除全部数据,但是上面的程序之删除一半的数据,还存在一半的内容  详情 回复 发表于 2014-5-30 23:44
回复 支持 反对

使用道具 举报

累计签到:148 天
连续签到:1 天
2014-5-30 23:44:21 显示全部楼层
Syylc120317 发表于 2014-5-30 15:53
for(int j=0;j

我是想删除全部数据,但是上面的程序之删除一半的数据,还存在一半的内容
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-31 07:22:09 显示全部楼层
chen8ang1 发表于 2014-5-30 23:44
我是想删除全部数据,但是上面的程序之删除一半的数据,还存在一半的内容 ...

我建议你用foreach

点评

QDomNode n=root.firstChild(); while (! n.isNull()) { QDomElement e=n.toElement(); if(! e.isNull()) { root.removeChild(n); }  详情 回复 发表于 2014-5-31 10:07
回复 支持 反对

使用道具 举报

累计签到:148 天
连续签到:1 天
2014-5-31 10:07:04 显示全部楼层
Syylc120317 发表于 2014-5-31 07:22
我建议你用foreach

QDomNode n=root.firstChild();
        while (! n.isNull()) {
            QDomElement e=n.toElement();
            if(! e.isNull())
            {
                root.removeChild(n);
            }
            n = n.nextSibling();
        }

很奇怪这个命令没有执行下一个兄弟节点语句。只删除第一个节点。后面的还存在
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-31 11:02:25 显示全部楼层
QDomNode n=root.firstChild();
n = n.nextSibling();
你不觉得这有问题吗?
for(QDomNode n=root.firstChild();! n.isNull();n = n.nextSibling();){
}

点评

这个命令我在类说明中叶看到了但是结果还是一样的。我把程序发给你你帮忙看一下吧。紧着解决这个问题。老师催着赶紧结束给人家验收。谢谢了  详情 回复 发表于 2014-5-31 15:17
回复 支持 反对

使用道具 举报

累计签到:148 天
连续签到:1 天
2014-5-31 15:17:58 显示全部楼层
Syylc120317 发表于 2014-5-31 11:02
QDomNode n=root.firstChild();
n = n.nextSibling();
你不觉得这有问题吗?

这个命令我在类说明中叶看到了但是结果还是一样的。我把程序发给你你帮忙看一下吧。紧着解决这个问题。老师催着赶紧结束给人家验收。谢谢了
回复 支持 反对

使用道具 举报

累计签到:148 天
连续签到:1 天
2014-5-31 15:20:44 显示全部楼层
这个程序,假如点击计算和之后,再点击显示结果。在接着点击计算除之后。在点击显示结果。你会发现,计算和的部分结果在第二次计算除之后结果显示还会出现

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

累计签到:894 天
连续签到:1 天
2014-5-31 16:04:15 显示全部楼层
chen8ang1 发表于 2014-5-31 15:20
这个程序,假如点击计算和之后,再点击显示结果。在接着点击计算除之后。在点击显示结果。你会发现,计算和 ...

我简要的看了一下,
void MyDialog:n_pushButton_3_clicked()
{
qDebug()<<tr("编号%1求和v的值为%2:").arg(id).arg(v);
}

void MyDialog:n_pushButton_4_clicked()
{
qDebug()<<tr("编号%1求和v的值为%2:").arg(id).arg(v);//你是直接复制的吧?这里怎么还是“和”
}
void MyDialog::showDailyList()
{    ui->listWidget->clear();
/*

*/

}
void MyDialog::showFailureList(){    ui->listWidget_2->clear();
/*

*/

}
我没有弄明白你要实现什么样的功能?以上是我发现的错误,读程序比写程序更费时费心。我就帮你到这了。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了