XML打印文件中的不同属性顺序

时间:2011-12-16 16:48:42

标签: java xml printing jaxb

为什么相同的Java代码会生成具有不同元素属性顺序的XML文件?我的猜测是不同的JVM,但如果是这样,我怎么能预测它会产生哪个顺序?

更多细节:我正在使用JAXB XML绑定。

3 个答案:

答案 0 :(得分:4)

  

是否有相同Java代码生成XML文件的原因   元素属性的不同顺序?

因为XML spec says属性的顺序无关紧要。

属性是键值对,用于阐明元素的特征。与元素的顺序不同,它们的顺序对文档结构没有影响。

答案 1 :(得分:2)

有可能属性被保存在某种哈希表内部,属性名称用作键。散列表的一个特征是它们不保留顺序。使用许多散列算法,即使它不可预测,顺序也会保持一致,但有时它可能依赖于伪随机因素,例如下一个可用内存块的位置。

答案 2 :(得分:0)

不同的输入。如果它确实是完全相同的Java代码,那么输入可能会有所不同。如果出现不同的JVM,我会感到惊讶。

我真的需要了解更多,以便给你一个比这更好的答案。