Java 在Castor中将集合映射到XML

Java 在Castor中将集合映射到XML,java,xml,xml-serialization,castor,oxm,Java,Xml,Xml Serialization,Castor,Oxm,我正在尝试使用Castor将POJO映射到XML 假设我有一个订单,里面有一系列的物品。。。有没有实现如下xml的方法: <order> ...order attributes <items> <item> ..item attributes </item> <item> ..other item </item> </items> </order> …订单属性 …项目属

我正在尝试使用Castor将POJO映射到XML

假设我有一个订单,里面有一系列的物品。。。有没有实现如下xml的方法:

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

…订单属性
…项目属性
……其他项目
我可以制作类似的东西,但是没有
节点。在其他情况下这不会是问题,但我的XML必须遵循严格的XSD模式,所以我需要这样做

谢谢



我想到了一种“变通方法”,包括创建一个新的java对象(即节点),该对象只包含项目列表。。。有人能想出更好的办法吗?从现在开始有一个100人的悬赏

可以使用绑定xml元素的location属性

文档中的示例:

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

生成以下XML:

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

您可以使用绑定xml元素的位置属性

文档中的示例:

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

生成以下XML:

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

另一个答案没有使用collection属性,我认为这可能是您最终需要的

当包含在Order对象的映射中时,类似的操作可能会起作用:

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

另一个答案没有使用collection属性,我认为这可能是您最终需要的

当包含在Order对象的映射中时,类似的操作可能会起作用:

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