根据《C++ GUI Qt4》中介绍,写入XML文件的方法有三种。使用QXmlStreamWriter、构建DOM树并对它调用save()和手动生成XML。
1.使用QXmlStreamWriter写XML文件
首先,建立要生成的文件,并打开文件
QFile file(path);//path为生成文件的路径 if(!file.open(QFile::WriteOnly|QFile::Text))//打开新建的文件 { qDebug()<<"XML文件创建不成功!!!"; }
接下来,写文件,例如我们要写一下的一段xml文件
<xs:group name="初始值规划" num="n-1"> <xs:all> <xs:element name="规划元素0" type="基本数据类型" id="0"/> <xs:element name="规划元素1" type="基本数据类型" id="1"/> <xs:element name="规划元素2" type="基本数据类型" id="2"/> <xs:element name="规划元素n-1" type="基本数据类型" id="n-1"/> </xs:all> </xs:group>
xsdWriter.writeStartElement("xs:element"); attributes.clear(); attributes.append("name","规划元素0"); attributes.append("type","基本数据类型"); attributes.append("id","0"); xsdWriter.writeAttributes(attributes); xsdWriter.writeEndElement();//"xs:element" xsdWriter.writeStartElement("xs:element"); attributes.clear(); attributes.append("name","规划元素1"); attributes.append("type","基本数据类型"); attributes.append("id","1"); xsdWriter.writeAttributes(attributes); xsdWriter.writeEndElement();//"xs:element" xsdWriter.writeStartElement("xs:element"); attributes.clear(); attributes.append("name","规划元素2"); attributes.append("type","基本数据类型"); attributes.append("id","2"); xsdWriter.writeAttributes(attributes); xsdWriter.writeEndElement();//"xs:element" xsdWriter.writeStartElement("xs:element"); attributes.clear(); attributes.append("name","规划元素n-1"); attributes.append("type","基本数据类型"); attributes.append("id","n-1"); xsdWriter.writeAttributes(attributes); xsdWriter.writeEndElement();//"xs:element" xsdWriter.writeEndElement();//xs:all xsdWriter.writeEndElement();//xs:group