我用JAXB 解析@XmlElements 标注的元素,出现转型异常。求大神分析下!!
一>关系整理
1.
abstract class E (){}
class TestDownloadRequest extends E()
class AcctInfoUploadRequest extends E()
2.
class Envelope {
@XmlElements({
@XmlElement( type=TestDownloadRequest.class ),
@XmlElement(type=AcctInfoUploadRequest.class)
})
private E Body;
public E getBody() {
return Body;
}
public void setBody(E Body) {
this.Body = Body;
}
}
二: 我程序中指定需要类为TestDownloadRequest。
测试程序主要代码:
Envelope hotelObj = resultBinder.fromXml(retXml); //此处 封装解析方法
TestDownloadRequest roomTypeVO = (TestDownloadRequest) hotelObj.getBody() ;
异常:java.lang.ClassCastException: com.xmltest.**AcctInfoUploadRequest** cannot be cast to com.xmltest.TestDownloadRequest
解析时为什么会出现**AcctInfoUploadRequest** 的转型!!