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

逸話的に、属性はコードで言及されているよりも逆の順序になっているようです。私の場合、2 つの変数 (名前と値) を使用しており、次のように宣言する必要がありました。

// 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 に答える