我正在为给定的类生成XML文件。但是元素按字母顺序生成,而不是按照它们的声明顺序生成。类有大约40个元素,因此 @XmlType(propOrder = {})不会有用。还有其他办法吗?
答案 0 :(得分:1)
不幸的是,没有办法按照声明的顺序为给定的类生成XML文件,而不使用@XmlType(propOrder = {})。
字母顺序可能是由JAXB实现中@XmlAccessorOrder的默认行为引起的,可能是在XmlAccessOrder.ALPHABETICAL上设置的。您可以通过以下方式对您的班级进行注释来更改它:
@XmlAccessorOrder(XmlAccessType.UNDEFINED)
但是顺序将依赖于系统的反射实现,并且可能无法满足您的需求。
在propOrder中列出40个元素可能有点烦人,但这是正确的方法。
来源:https://docs.oracle.com/cd/E19316-01/819-3669/bnbcz/index.html