Отображение коллекции в XML в Castor - PullRequest
0 голосов
/ 22 августа 2009

Я пытаюсь отобразить POJO в XML с помощью Castor.

Допустим, у меня есть Орден, в котором есть коллекция Предметов ... Есть ли способ достижения xml, подобный следующему:

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

Я мог бы сделать нечто подобное, но без узла <items>. В другом случае это не будет проблемой, но мой XML должен соответствовать строгой схеме XSD, поэтому мне нужно сделать это следующим образом.

Спасибо!


Я думал о "обходном пути", который включал бы создание нового Java-объекта (который был бы узлом), который содержал бы только список элементов ... Кто-нибудь может придумать лучший подход? с тех пор открыта награда в 100 представителей!

Ответы [ 2 ]

3 голосов
/ 24 августа 2009

Вы можете использовать атрибут местоположения элемента bind-xml

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 голосов
/ 12 мая 2015

В другом ответе не используется атрибут коллекции, который, я думаю, вероятно, вам и нужен.

Нечто подобное может сработать при включении в отображение для объекта Order:

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