私はxsdドキュメントを持っていました。JAXBを使用してJavaクラスを生成したいと思います。XSDからJAXBを使用して要素のJavaクラスを生成
<element name="myResponse" type="param:response>
<complexType name="response">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="reference" type="param:myType" />
...
</sequence>
</complexType>
とMYTYPEは、あまりにも、complexTypeのように定義されます。 は前に、一つの要素のようにありました。 次に、生成されたクラスMyResponse.javaとReference.javaを取得します。 私がで「参照」の値を割り当てることができます。
ArrayList<myType> l = new new ArrayList<myType>()
response.getReference().addAll(l);
、それが働きました。
今、maxOccurs = "unbounded"を削除しましたが、もう動作しません。 応答はList型でなく、JAXBElementです。 は、私が使用してみました:
myType t = new myType();
response.getReference().setValue(t);
と
myType t = new myType();
response.setReference(t);
どちらも動作します。
リストではないときに正しい方法は何か教えていただけますか?