7

我有一个元素中需要 3 个属性的 XML 文件。如何按照我的意愿制作街道、邮编和城市属性的顺序?

<address street="Big Street" zip="2012" city="Austin">
</address>
@XmlType(name="Street)
@XmlRootElement(name = "Street")
public class Street {

@XmlAttribute
private String name;

@XmlAttribute
private String type;

    ... set and get method
}
4

2 回答 2

10

有趣的是,这些属性似乎与代码中提到的顺序相反。就我而言,我使用了两个变量(名称和值),我必须将它们声明为:

// The inverse order of name & value seems to make them render in XML in name/value order
@XmlAttribute
protected String value;
@XmlAttribute
protected String name;

生成 XML 时,会产生以下结果:

<attribute name="nameValue" value="valueValue"/>
于 2012-11-13T23:28:13.197 回答
7

您可以使用@XmlAccessorOrder(具有预定义值)或@XmlType(仅适用于属性)来管理排序。

样品

编辑 :

对于自定义订购,JAXB 规范不提供任何东西,但如果您的 JAXB 提供者为您提供一些功能,您可以这样做。

找到了这个链接,它谈到了使用 EclipseLink JAXB 进行排序。

于 2012-04-30T05:46:06.430 回答