使用Qt输出xml文件
void PixelConversionLibrary::generateXML()
{QFile file("D:/TEST.xml");//创建xml文件if (!file.open(QIODevice::WriteOnly | QIODevice::Text))//以只写方式,文本模式打开文件{qDebug() << "generateXML:Failed to open file.";return;}QXmlStreamWriter xmlWriter(&file);//对该文件创建一个xml写入器xmlWriter.setAutoFormatting(true);//这一行设置xmlWriter为自动格式化模式,这意味着生成的 XML 文件将以更易读的格式排列,包括缩进和换行xmlWriter.writeStartDocument();//这一行开始写入 XML 文档。这是 XML 文档的起始点,它会写入 XML 文件的文档声明。xmlWriter.writeStartElement("legend_layer");//这一行写入一个 XML 元素的开始标记 <legend_layer>。这表示 XML 文档中的一个元素的开始,该元素的名称是 "legend_layer"。xmlWriter.writeAttribute("job", "000000");//下面5行这一部分写入 <legend_layer> 元素的属性。xmlWriter.writeAttribute("layer", "XLCS0000.gbr");xmlWriter.writeAttribute("width", "3.46089");xmlWriter.writeAttribute("height", "7.70589");xmlWriter.writeAttribute("side", "");//xmlWriter.writeEndElement(); 注意,这里没有这条语句,说明后面写的元素都是legend_layer的子元素xmlWriter.writeStartElement("output_by");xmlWriter.writeAttribute("hostname", "");xmlWriter.writeAttribute("os", "");xmlWriter.writeAttribute("time", QDateTime::currentDateTime().toString());xmlWriter.writeAttribute("units", "inch");xmlWriter.writeEndElement(); // output_byxmlWriter.writeStartElement("resolution");xmlWriter.writeAttribute("x", QString::number(XDPI));xmlWriter.writeAttribute("y", QString::number(YDPI));xmlWriter.writeEndElement(); // resolutionxmlWriter.writeStartElement("panel");xmlWriter.writeAttribute("step", "temp");xmlWriter.writeAttribute("angle", "0");xmlWriter.writeAttribute("mirror", "no");xmlWriter.writeAttribute("x", "-0.15748");xmlWriter.writeAttribute("y", "-15.3937");xmlWriter.writeEndElement(); // panelxmlWriter.writeEndElement(); // legend_layerxmlWriter.writeEndDocument();//结束整个 XML 文档的写入file.close();return;
}
写入生成的xml文件如下: