实现效果:在工程目录下生成一个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(); // 关闭文件
}