要在一个子节点下加入多个attribute,可以使用QXmlStreamWriter类提供的writeAttribute()函数。这个函数接受两个参数,第一个是属性名称,第二个是属性值。
下面的例子演示了如何将两个属性添加到一个元素中:
#include <QCoreApplication>
#include <QFile>
#include <QXmlStreamWriter>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个输出文件
QFile file("output.xml");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return -1;
// 创建一个QXmlStreamWriter对象,并将其绑定到输出文件上
QXmlStreamWriter xmlWriter(&file);
// 写入XML声明和根元素
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement("root");
// 写入包含多个属性的子元素
xmlWriter.writeStartElement("child");
xmlWriter.writeAttribute("attr1", "value1");
xmlWriter.writeAttribute("attr2", "value2");
xmlWriter.writeEndElement();
// 结束文档的写入
xmlWriter.writeEndDocument();
// 关闭输出文件
file.close();
return 0;
}
这段代码会生成以下XML文件:
<?xml version="1.0"?>
<root>
<child attr1="value1" attr2="value2"/>
</root>
注意,在调用writeAttribute()函数时,需要先调用writeStartElement()开始写入当前元素,然后再调用writeAttribute()添加属性。最后通过调用writeEndElement()结束当前元素的写入。