在编写XML元素时设置属性的顺序

在java中编写以下代码时:

Element fieldEl = targetDocument.createElement("field"); fieldEl.setAttribute("Wine","Marlo"); fieldEl.setAttribute("Beer","Corona"); 

添加属性的顺序不会保留在结果XML文件中。
如何控制XML Element中属性的顺序(因此人们很容易阅读……)?

根据DOM标准,没有为属性节点定义的顺序:

实现NamedNodeMap接口的对象用于表示可以按名称访问的节点集合。 注意,NamedNodeMap不从NodeListinheritance; NamedNodeMaps不以任何特定顺序维护。 实现NamedNodeMap的对象中包含的对象也可以通过序数索引访问,但这只是为了方便枚举NamedNodeMap的内容,并不意味着DOM指定了对这些节点的顺序。

(重点补充)并且在XML标准中都没有:

请注意,start-tag或empty-element标记中的属性规范的顺序并不重要。

我不认为,许多DOM实现都支持属性排序。 您必须编写自己的序列化机制才能实现排序(不需要双关语)。