我的xml文件包含:
<studentform>
<student Studentname=" " Address=" " SSC_marks=" " Inter_marks=" " Btech_marks=" " Mailid=" "/>
<student Studentname=" " Address=" " SSC_marks=" " Inter_marks=" " Btech_marks=" " Mailid=" "/>
<student Studentname=" " Address=" " SSC_marks=" " Inter_marks=" " Btech_marks=" " Mailid=" "/>
</studentform>
我试图在同一个文件中读取和写入这个xml文件,但在输出中,属性位置像这样被洗牌
<studentform>
<student Mailid=" " SSC_marks=" " Btech_marks=" " Studentname=" " Address=" " Inter_marks=" "/>
<student Mailid=" " SSC_marks=" " Btech_marks=" " Studentname=" " Address=" " Inter_marks=" "/>
<student Mailid=" " SSC_marks=" " Btech_marks=" " Studentname=" " Address=" " Inter_marks=" "/>
</studentform>
这是一个奇怪的问题。任何帮助表示赞赏。
答案 0 :(得分:1)
如果你正在使用Qt的DOM类(QDomDocument,...),那么你就无法做任何事情,因为这在内部发生(属性存储在QHash中)。原因是:属性的顺序不会改变XML文件的含义,两个文件包含的信息是相同的。
如果您需要使用正确的属性,请考虑使用QXmlStreamWriter
- 此类将按您传递的顺序编写属性 - 因为它是基于流的编写器。但是,您必须使用自己的数据结构读取和写入数据。