1

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

假设我有一个包含项目集合的订单......有没有办法实现如下所示的 xml:

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

我可以制作类似但没有<items>节点的东西。在其他情况下这不是问题,但我的 XML 必须遵守严格的 XSD 模式,所以我需要这样做。

谢谢!


我认为一种“解决方法”将涉及创建一个仅包含项目列表的新 java 对象(即节点)......有人能想到更好的方法吗?从现在开始有一个 100 代表的赏金开放!

4

2 回答 2

3

您可以使用 bind-xml 元素的 location 属性

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>
于 2009-08-24T07:13:31.283 回答
1

另一个答案不使用我认为可能是您最终需要的集合属性。

当包含在 Order 对象的映射中时,这样的事情可能会起作用:

<field name="items" type="item" collection="arraylist" >
  <bind-xml name="items" node="element"/>
</field>
于 2015-05-12T17:04:12.933 回答