QT简单入门实例11【QT写简单XML文件】

实现效果:在工程目录下生成一个xml文件

在这里插入图片描述
XML文件内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--Scheduling FrameWork V1.0, Wrote By Sun_tian-->
<Family City="HZ">
    <personItem>
        <person Name="baba" height="165" weight="65" job="teacher">
            </>
        </person>
        <person Name="mama" height="162" weight="60" job="tailor">
            <Empty/>
        </person>
        <person Name="wo" height="183" weight="70" job="Postgraduate">
            <Empty/>
        </person>
    </personItem>
</Family>

QT源码:

#include <QFile>
#include <QXmlStreamWriter>
void Map::writeXML()
{
    QString strFile("test.xml");
    QFile file(strFile);
    if (!file.open(QFile::WriteOnly | QFile::Text)) { // 打开文件
        qDebug() <<strFile<<" Open Fail! "<<file.errorString();
        return;
    }
    QXmlStreamWriter writer;
    writer.setDevice(&file);
    writer.setAutoFormatting(true); // 自动格式化
    writer.writeStartDocument("1.0", true);  // 开始文档(XML 声明)
    writer.writeComment("Scheduling FrameWork V1.0, Wrote By Sun_tian");  // 注释
    writer.writeStartElement("Family");  // 开始根元素 <Family>
    writer.writeAttribute("City", "HZ");  // 属性

    writer.writeStartElement("personItem");  // 开始子元素 <pointItem>
    writer.writeStartElement("person");
    writer.writeAttribute("Name","baba");  // 属性
    writer.writeAttribute("height","165");  // 属性
    writer.writeAttribute("weight","65");  // 属性
    writer.writeAttribute("job","teacher");  // 属性
    writer.writeEmptyElement("");  // 空元素
    writer.writeEndElement();  // 结束子元素 </person>

    writer.writeStartElement("person");
    writer.writeAttribute("Name","mama");  // 属性
    writer.writeAttribute("height","162");  // 属性
    writer.writeAttribute("weight","60");  // 属性
    writer.writeAttribute("job","tailor");  // 属性
    writer.writeEmptyElement("");  // 空元素
    writer.writeEndElement();  // 结束子元素 </person>

    writer.writeStartElement("person");
    writer.writeAttribute("Name","wo");  // 属性
    writer.writeAttribute("height","183");  // 属性
    writer.writeAttribute("weight","70");  // 属性
    writer.writeAttribute("job","Postgraduate");  // 属性
    writer.writeEmptyElement("");  // 空元素
    writer.writeEndElement();  // 结束子元素 </person>

    writer.writeEndElement();  // 结束子元素 </personItem>
    writer.writeEndElement();  // 结束根元素 </Family>
    writer.writeEndDocument();  // 结束文档
    file.close();  // 关闭文件
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值