如果我使用java.beans.XMLEncoder(Java 1.6)对类进行编码,如下所示:
fileOutputStream = new FileOutputStream(someFile);
XMLEncoder xmlEncoder = new XMLEncoder(fileOutputStream);
xmlEncoder.writeObject(anyObject);
xmlEncoder.close();
当我在另一台物理机器(也使用Java 1.6)上运行时,写入someFile
的结果具有不同的元素排序。
对由XMLEncoder
编码的对象的字段排序是否有任何保证?
如果没有,每次对象进行xml编码时,如何强制执行相同的排序?
答案 0 :(得分:0)
原因是在机器A上,程序在IBM JVM上运行,而在机器B上,程序在Sun JVM上运行。似乎XMLEncoder
的实现因IBM和Sun JVM而异。