1

Castorを使用してPOJOをXMLにマップしようとしています。

アイテムのコレクションを持つ注文があるとしましょう...次のようなxmlを実現する方法はありますか?

<order>
  ...order attributes
  <items>
    <item> ..item attributes </item>
    <item> ..other item </item>
  </items>
</order>

私は似たようなものを作ることができましたが、<items>ノードはありませんでした。これは他の場合には問題になりませんが、私のXMLは厳密なXSDスキーマに準拠している必要があるため、そのようにする必要があります。

ありがとう!


私は、アイテムのリストのみを含む新しいJavaオブジェクト(ノードになる)を作成することを含む一種の「回避策」について考えています...誰かがより良いアプローチを考えることができますか?今から100名の賞金があります!

4

2 に答える 2

3

bind-xml要素のlocation属性を使用できます

http://castor.codehaus.org/1.2/xml-mapping.html#6.-Location-attribute

ドキュメントからの例:

   <class name="Foo">
      <field name="bar" type="Bar">
         <bind-xml name="bar" location="abc"/>
      </field>
   </class>

次のXMLを生成します。

<foo>;
   <abc>
      <bar>...</bar>
   </abc>
</foo>
于 2009-08-24T07:13:31.283 に答える
1

もう1つの答えは、おそらく最終的に必要なものであると私が思うコレクション属性を使用していません。

Orderオブジェクトのマッピングに含めると、次のようなものが機能する可能性があります。

<field name="items" type="item" collection="arraylist" >
  <bind-xml name="items" node="element"/>
</field>
于 2015-05-12T17:04:12.933 に答える