0

これは単純な要求かもしれませんが、それを行う方法が見つかりませんでした。

次のような XML 出力を作成する必要があります。

 <person name="Mike">
    <orders id="1">
       <order ido="1"></order>
    </orders>
 </person>

データベースのクエリから値を取得する必要がありますが、クエリが「注文」を返さない場合、XML は次のようにする必要があります。

<person name="Mike">
    </orders>
<person>

これらは可能ですか?、私は奇妙なことを知っていますが、クライアントの要件です.

4

2 に答える 2

0

私たちのコードでは、このケースがよくあることを知っています。最初に XML を XSD として定義し、次に JAXB を生成します。そうするために、注文は 0..1 になり、注文内のリストは 1..n になります。

クラスに注釈を付けるだけの場合は、次のようにする必要があると思います。

@XmlElement(name = "orders")
protected List<Order> orders;

public List<Order> getOrders() {
    if (orders == null) {
        orders = new ArrayList<Order>();
    }
    return this.orders;
}

これは常にリストを返します。リストが空の場合、<orders /> が返されます。

于 2013-07-17T14:58:15.363 に答える
0

目的の出力を得るためにマーシャリングする前Ordersに、クラスにの空のインスタンスを設定できます。Person

于 2013-07-17T14:48:37.437 に答える