我正在尝试使用Castor将POJO映射到XML。
假设我有一个包含Items集合的Order ...有没有办法实现xml,如下所示:
<order>
...order attributes
<items>
<item> ..item attributes </item>
<item> ..other item </item>
</items>
</order>
我可以制作类似但没有<items>
节点的东西。这在其他情况下不会成为问题,但我的XML必须遵守严格的XSD架构,所以我需要这样做。
谢谢!
我虽然有一种“解决方法”,它涉及创建一个只包含项目列表的新java对象(可能是节点)......任何人都可以想到更好的方法吗?从现在开始有100个代表赏金!
答案 0 :(得分:3)
您可以使用bind-xml lement的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>
答案 1 :(得分:0)
另一个答案不使用我认为可能是你最终需要的收集属性。
当包含在Order对象的映射中时,这样的东西可能会起作用:
<field name="items" type="item" collection="arraylist" >
<bind-xml name="items" node="element"/>
</field>