【问题标题】:Why are these attributes being written in reversed order?为什么这些属性以相反的顺序写入?
【发布时间】:2011-06-03 12:40:57
【问题描述】:

我正在使用 QDomElementQDomDocument 将数据导出到 XML。当我这样做时,属性会以正确的顺序写入:

element.setAttribute("xRepeat", xrepeat);
element.setAttribute("yRepeat", yrepeat);

这会输出类似xRepeat="3" yRepeat="8" 的内容。然后我尝试了这个......

element.setAttribute("xrepeat", xrepeat);
element.setAttribute("yrepeat", yrepeat);

结果输出为yrepeat="8" xrepeat="3"。现在以相反的顺序编写属性是否有原因?我已经在我的 IDE(Qt Creator)中执行了通常的 clean/qmake/build 例程,以确保编译器的“仅重建已更改的内容”功能没有做任何奇怪的事情

【问题讨论】:

  • 为什么重要?它可能在下面使用无序集合。
  • 这对我的程序无关紧要,但反过来更清晰。

标签: qt


【解决方案1】:

开始标签或空元素标签中属性规范的顺序并不重要。不要依赖需要特定订单的软件。

【讨论】:

  • 我没有,但反过来更清晰。
【解决方案2】:

Cat Plus Plus 是正确的。 QDomElement 在下面使用QHash 来存储元素属性。 QT Doc 声明

使用QHash,项目是任意的 已订购

当你改变密钥时,你也改变了顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 2015-05-05
    • 2015-11-09
    • 1970-01-01
    相关资源
    最近更新 更多