1

simpleType または complexType が定義されていて、型がスキーマ ファイル内の複数の要素の宣言で使用されていることに気付きました。simpleType または complexType は、"JAXBElemet createXyz(Xyz xyz)" としてメソッド シグネチャを生成します。しかし、それが根本的な理由かどうかはわかりません。

4

1 に答える 1

1

オブジェクトを XML にマーシャリングするために、JAXB は使用する XML 要素の名前を認識する必要があります。これは、(a) クラスの注釈から取得するか、 (b)要素名を含む で@XmlRootElementオブジェクトをラップすることによって取得します。JAXBElement

XJC が なし@XmlRootElementでクラスを生成する場合、そのクラスのファクトリ メソッドObjectFactoryは代わりにJAXBElementラッパーを使用して、必要なマーシャリング情報を提供します。

次に、XJC が@XmlRootElement一部のクラスを生成することを決定し、他のクラスを生成しないことを決定した理由を尋ねることができますが、それは以前に SO で尋ねられたので、そのクラスを調べてみてください。

于 2011-03-15T08:39:34.750 に答える