【发布时间】:2014-02-27 10:21:54
【问题描述】:
我有以下代码:
element.clear();
element.setTagName("accountpoint");
element.setAttribute("code", QString(ID_CONST)+serial);
element.setAttribute("name", QString());
element.setAttribute("serial", serial);
QFile file(filename);
file.open(QIODevice::ReadWrite);
QTextStream stream(&file);
doc.save(stream, 4);
我想我会得到一个类似的 XML:
<accountpoint code="4871583314750580" name="" serial="14750580">
但我有:
<accountpoint serial="14750580" code="4871583314750580" name="">
为什么?
附:是的,当然,在 XML 文档中没关系,但我想获得正确的属性顺序。
【问题讨论】:
-
Qt 在保存到流时不保证属性的顺序。您应该改为 QXmlStreamWriter - 使用它您可以控制属性的顺序。无论如何,QtXML 在 QT5 中已被弃用
-
如你所说,顺序无关紧要,所以没有正确/错误、正确/错误的属性顺序。 (但正如 Alex 所说,QXmlStreamWriter 会保留它们)
-
@alextelishev,感谢您的回答!我正在使用 Qt 4.8(我正在等待 Max Schlee 撰写的关于 Qt 5.2 的书,他在 vkontakte 页面上承诺过)