在Qt中写xml文件时,给一个结点标签添加属性时
QDomDocument doc;
QDomProcessingInstruction instruction;
instruction = doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);
QDomElement root = doc.createElement("person");
doc.appendChild(root);
QDomElement kgl_input = doc.createElement("io");
root.appendChild(kgl_input);
QDomAttr name = doc.createAttribute("name");
QDomAttr type = doc.createAttribute("type");
name.setValue(tr("zhangsan"));
type.setValue(tr("90"));
kgl_input.setAttributeNode(name);
kgl_input.setAttributeNode(type);
QTextStream out(&file);
out.setCodec("UTF-8");
doc.save(out,4,QDomNode::EncodingFromTextStream);
执行后
<person>
<io type="90" name="zhangsan" >
</person>
如何可控制 name 属性与 type 属性的前后顺序?
如果我想让某个属性在某个顺序,或是让 name 属性在 type 属性的前面,应该如何做?
更换下面两句话的前后位置并不能达到效果
kgl_input.setAttributeNode(name);
kgl_input.setAttributeNode(type);