Chr*_*ris 7 jaxb xml-attribute
我有一个XML文件,它需要一个元素中的3个属性.如何按照我的意愿制作街道,拉链和城市属性的顺序?
<address street="Big Street" zip="2012" city="Austin">
</address>
Run Code Online (Sandbox Code Playgroud)
@XmlType(name="Street)
@XmlRootElement(name = "Street")
public class Street {
@XmlAttribute
private String name;
@XmlAttribute
private String type;
... set and get method
}
Run Code Online (Sandbox Code Playgroud)
有趣的是,属性似乎与代码中提到的顺序相反.在我的例子中,我使用两个变量(名称和值),我必须将它们声明为:
// 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;
Run Code Online (Sandbox Code Playgroud)
生成XML时,会产生以下结果:
<attribute name="nameValue" value="valueValue"/>
Run Code Online (Sandbox Code Playgroud)
您可以使用@XmlAccessorOrder(具有预定义值)或@XmlType(仅适用于属性)来控制排序.
编辑:
对于自定义排序,JAXB规范不提供任何内容,但是如果您的JAXB提供程序为您提供某些功能,则可以执行此操作.
找到这个链接,它说的是使用EclipseLink JAXB进行排序.