Qt将QtreeView节点保存到xml文件

//建xml文件
QString projectPath = ui->lineEdit->text()+".xml";

QFile projectFile(projectPath);

if(!projectFile.open(QIODevice::ReadWrite|QIODevice::Truncate|QFile::Text))
{
    qDebug()<<QStringLiteral("打开文件失败");
}

QDomDocument doc;
QDomProcessingIngInstruction instruction = doc.createProcessingInstruction("xml","version =\"1.0\"encoding =\"UTF-8\"");

if(!instruction.isNull())
{
    doc.appendChild(instruction);

//根节点

 QDomElement rootElement;
    rootElement = doc.createElement("pro");
    doc.appendChild(rootElement);

    QDomElement elementInfo = doc.createElemrnt("info");
    elementInfo.setAttribute("name","peojectInfo");
    rootElement.appendChild(elementInfo);

    QDomElement elementData = doc.createElement("data");
    rootElement.appendChild(elementData);

    //遍历treeview节点添加到xml
    QStandardItem *model = mytreeView->item(0,0)->child(0,0);
    int modelNum = model->rowCount();
    for(int i = 0;i<modelNum;i++)
    {
        if(model->hasChildren())
        {
            QStandardItem *modelChildItem = model->child(i);
            QDomElement modelChildElement = doc.createElement(modelChildItem->text());
            elementData.appendChild(modelChildElement);
        }
    }
    QTextStream out(&projectFile);
    doc.save(out,2);
    projectFile.close();
    }
}

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值