利用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 元素的开始标记 <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_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文件如下:
在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非鱼Swx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值