2010-11-02 234 views
1

的XML相同的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綁定做到這一點?我不能改變xml,但我不想改變產品,sim,blub的java類,但它們都是相同的xml元素。

使用類綁定變元可以更改類名稱,但是如何才能對同一元素執行此操作,但具有不同的屬性?

感謝, 拉爾夫

回答

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

此解決方案的問題在於@bindingStyle屬性不再允許JAXB 2.0。

任何想法?

相關問題