Frage

Ich versuche, eine POJO zu XML abzubilden Castor verwendet wird.

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

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

Ich kann etwas ähnliches, aber ohne den <items> Knoten machen. Dies wäre kein Problem in anderen Fällen sein, aber mein XML auf ein striktes XSD-Schema einhalten muß, damit ich es so tun müssen.

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 eine bessere Lösung denken? es gibt eine 100 rep Bounty offen, da jetzt!

War es hilfreich?

Lösung

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

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

Beispiel aus der Dokumentation:

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

Andere Tipps

Die andere Antwort nicht die Sammlung Attribut verwenden, die ich denke, ist wahrscheinlich das, was Sie letztendlich benötigen.

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

<field name="items" type="item" collection="arraylist" >
  <bind-xml name="items" node="element"/>
</field>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top