QT中Xml及查看调试中容器的内部数据

发布于:2025-03-24 ⋅ 阅读:(77) ⋅ 点赞:(0)
void ChuankouUI::writeFile()
{
    QFile file(filePath);
    if (!file.open(QIODevice::WriteOnly))
    {
        emit errData("打开配置文件失败");
        return;
    }
    
    
    QDomDocument doc;
    //添加根节点
    QDomElement root=doc.createElement("config");
    doc.appendChild(root);
    for (auto it = map->begin(); it != map->end(); ++it)
    {
        //添加第一个子节点及其子元素
        QDomElement id=doc.createElement(it.key());
        id.setAttribute("value",it.value());
        root.appendChild(id);
    }
    //输出到文件
    QTextStream out_stream(&file);
    doc.save(out_stream,4); //缩进4格
    file.close();
    //                QXmlStreamWriter xmlWriter(&file);
    //                //自动添加缩进和换行
    //                xmlWriter.setAutoFormatting(true);
    //                //开始一个新的XML文档。
    //                xmlWriter.writeStartDocument();
    //        //        用于开始和一个XML元素。
    //                xmlWriter.writeStartElement("config");
    
    //                for (auto it = map->begin(); it != map->end(); ++it)
    //                {
    //                    xmlWriter.writeStartElement(/*"key",*/ it.key());
    //        //            //设置属性
    //                    xmlWriter.writeAttribute("value", it.value());
    //    //                //创建一个包含文本的XML元素
    //    //                xmlWriter.writeTextElement("value", it.value());
    //                    xmlWriter.writeEndElement();
    //                }
    //        //        用于结束一个XML元素
    //                xmlWriter.writeEndElement();
    //                xmlWriter.writeEndDocument();
    
    //                file.close();
    
    
}

调试数据时选中这个可以查看字典等内部数据的值