我需要使用XStream將受XSD約束的XML映射到Java對象。 XSD具有4個複雜類型元素,它們是「選擇」元素,即這4個元素中的任何一個都可以存在於根標記下的XML中。Xstream映射XML的「選擇」元素
我一直在看XStream,但在我看來,要映射這樣的XML,我需要8個類。怎麼樣?這裏是...
說例如我的根元素是VEHICLE,並且XML中的每個複雜類型都是a)CAR b)BIKE c)卡車d)TRACTOR。他們每個人都有不同的屬性。爲了將其映射到Xstream並使XSD(由XStream生成)符合XSD,我們需要8個類即viz。 VehicleCarWrapper - >(有)汽車,VehicleTruckWrapper - >(有)卡車,VehicleBikeWrapper - >(有)自行車和VehicleTractorWrapper - >(有)拖拉機。
除了破舊的解決方案之外,有沒有人有建議? Xstream中有沒有一種方法可以映射XML根的這種「選擇」元素?因此,所有4(即卡車,汽車,自行車,拖拉機)都可以作爲關聯實體進入包裝器,但XStream始終忽略除一個關聯以外的所有關聯,因此創建符合XSD的XML。
希望我的問題很清楚。
非常感謝!
有關使用JAXB映射選擇結構的詳細示例,請參閱:http://bdoughan.blogspot.com/2010/10/jaxb-and-xsd-choice-xmlelements.html – 2010-10-21 19:29:54