利用Qt输出XML文件

使用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 元素的开始标记 。这表示 XML 文档中的一个元素的开始,该元素的名称是 "legend_layer"。
	xmlWriter.writeAttribute("job", "000000");//下面5行这一部分写入  元素的属性。
	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_by

	xmlWriter.writeStartElement("resolution");
	xmlWriter.writeAttribute("x", QString::number(XDPI));
	xmlWriter.writeAttribute("y", QString::number(YDPI));
	xmlWriter.writeEndElement(); // resolution

	xmlWriter.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(); // panel
	
	xmlWriter.writeEndElement(); // legend_layer

	xmlWriter.writeEndDocument();//结束整个 XML 文档的写入

	file.close();
	return;
}

写入生成的xml文件如下:
利用Qt输出XML文件_第1张图片

你可能感兴趣的:(Qt,qt,xml,开发语言)