您好,对于使用Qt写XML文件并将格式设置为UTF-8的问题,您可以使用QXmlStreamWriter类。
以下是一个示例代码:
#include <QFile>
#include <QXmlStreamWriter>
int main()
{
QFile file("example.xml");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return -1;
QXmlStreamWriter xmlWriter(&file);
xmlWriter.setAutoFormatting(true); // 设置自动格式化
xmlWriter.writeStartDocument(); // 写入 XML 头部
xmlWriter.writeStartElement("root");
// 写入 XML 节点和元素
xmlWriter.writeStartElement("person");
xmlWriter.writeAttribute("name", "Alice");
xmlWriter.writeEndElement();
xmlWriter.writeEndElement(); // 关闭根元素
file.close();
return 0;
}
在上面的示例中,我们创建了一个名为“example.xml”的文件,并使用QXmlStreamWriter
对象将XML内容写入该文件。在此过程中,我们调用了setAutoFormatting()
函数来启用自动格式化,并通过调用writeStartDocument()
函数写入XML头部。然后,我们使用writeStartElement()
和writeEndElement()
函数来定义节点和元素,并使用writeAttribute()
函数设置属性。
最后,我们关闭了根元素并关闭文件。请注意,在默认情况下,Qt会将XML格式设置为UTF-8编码。