2009-08-22 4 views
0

Ich versuche, ein POJO zu XML mit Castor zuordnen.Mapping Sammlung zu XML in Castor

Lassen Sie uns sagen, dass ich einen Auftrag haben, die eine Sammlung von Gegenständen hat ... ist es eine Möglichkeit, eine XML wie folgt zu erreichen:

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

ich etwas ähnliches, aber ohne den <items> Knoten machen könnte. Dies wäre im anderen Fall kein Problem, aber mein XML muss einem strikten XSD-Schema entsprechen, also muss ich es so machen.

Danke!


ich aber von einer Art „Abhilfe“, die eine neue Java-Erstellung Objekt beinhalten würde (das wäre der Knoten sein), die nur die Liste der Elemente enthalten würde ... kann jemand denken Sie an einen besseren Ansatz? Es gibt eine 100-Mann-Prämie, die seit jetzt geöffnet ist!

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

Erzeugt die folgende XML:

<foo>; 
    <abc> 
     <bar>...</bar> 
    </abc> 
</foo> 

Antwort

3

Sie können die Position Attribut des lement bind-xml

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

Beispiel aus der Dokumentation verwenden andere Antwort verwendet nicht das Sammelattribut, das ich wahrscheinlich für wahrscheinlich halte was du letztendlich brauchst.

So etwas wie dies funktionieren könnte, wenn in Ihrem Mapping für das Order-Objekt enthält:

<field name="items" type="item" collection="arraylist" > 
    <bind-xml name="items" node="element"/> 
</field> 
0

Die