如果有一种方法,该怎么做,我想知道最优雅的方法。问题是:-假设您有一个抽象类Z-您有两个从Z继承的类:名为A和B。
您可以像这样封送任何实例(A或B):
JAXBContext context = JAXBContext.newInstance(Z.class);
Marshaller m = context.createMarshaller();
m.marshal(jaxbObject, ...an outputstream...);
在生成的XML中,您将看到它是哪种实例(A或B)。
现在,您如何解组像
JAXBContext jc = JAXBContext.newInstance(Z.class);
Unmarshaller u = jc.createUnmarshaller();
u.unmarshal(...an inputstream...)
我收到一个UnmarshalException的说法
"Exception Description: A descriptor with default root element {<my namespace>}<the root tag, e.g. A or B> was not found in the project]
javax.xml.bind.UnmarshalException”
那么如何进行解组,以便获得Z的实例,然后可以测试解组后的状态,它是什么?例如z instanceof A然后... z z instanceof B然后其他...等等。
感谢您的任何想法或解决方案。
我正在将JRE1.6与MOXy一起用作JAXB Impl。
我的问题没有解决方案!
在任何情况下,您都必须准确告知解组员应解组的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句