xml看起来像
<root>
<service name="product" />
<service name="sim" />
<service name="blub" />
</root>
架构应该看起来像
<xs:element name="root">
<xs:complexeType>
<xs:element type='serviceProduct' name='service' />
<xs:element type='serviceSim' name='service' />
<xs:element type='serviceBlub' name='service' />
</xs:complexeType>
</xs:element>
JAXB Bindings可以做到吗?我无法更改xml,但我想为product,sim,blub提供不同的java类,但它们都是相同的xml元素。
使用类绑定declerations可以更改类名,但是如何为同一个元素执行此操作但具有不同的属性?
谢谢, 拉尔夫
答案 0 :(得分:0)
另一种解决方案是...... Java/JAXB: Unmarshall XML attributes to specific Java object attributes
但我更喜欢架构中的解决方案。它可以像“绑定选择示例”中所描述的那样工作,它显示了如何将选择模型组绑定到Java接口... http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html#wp155808
此解决方案的问题是从JAXB 2.0开始不再允许@bindingStyle属性。
有什么想法吗?