3

私は有名な慣習を使用しているxsdを持っています:

<xsd:element name="name" type="Type">
<!-- ... -->
</xsd:element>

<xsd:complexType name="Type">
<!-- ... -->
<xsd:complexType/>

そのため、xjc ツールでクラスを生成すると、@XmlRootElement アノテーションがありません。xjcの単純なバインディングを使用しているstackoverflowで解決策を見つけました:

<jxb:bindings schemaLocation="myschema.xsd" node="/xs:schema">
   <jxb:globalBindings>
      <xjc:simple/>
   </jxb:globalBindings>
</jxb:bindings>

-extension -b フラグを指定して xjc でクラスを生成すると、XmlRootElement アノテーションが表示されます。問題は、そのクラスの名前が正しくないことです。"" をルート要素として使用するクラス "Type" が必要です。しかし、クラス「名前」を受け取ります。

私はこの問題にほぼ2日を費やしました...

適切な名前と XmlRootElement 注釈を持つクラスを作成する方法はありますか?

4

1 に答える 1