2009-08-22 8 views
0

Castorを使用してPOJOをXMLにマップしようとしています。CastorのXMLへのコレクションのマッピング

のは、以下のようなXMLを達成するためのいずれかの方法があります...私はアイテムのコレクションを持って注文を持っているとしましょう:

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

私は似ていますが、<items>ノードのない何かを作ることができます。これは他のケースでは問題にはならないでしょうが、私のXMLは厳密なXSDスキーマに従わなければならないので、そうする必要があります。

ありがとうございます!


私が唯一の項目のリストを含んでいるでしょう、新しいJavaオブジェクトを作成伴うだろう「回避策」の種類(つまり、ノードになります)のけれども...誰もがより良いアプローチを考えることができますか?今からオープンしている100の報奨金があります!

答えて

3

あなたは、ドキュメントからのバインドのXML lementの場所属性

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> 
0

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

Orderオブジェクトのためのあなたのマッピングに含まれるこのような何かがうまくいくかもしれない:

<field name="items" type="item" collection="arraylist" > 
    <bind-xml name="items" node="element"/> 
</field> 
関連する問題