JAXB unmarshaller.unmarshal 何时返回 JAXBElement<MySchemaObject> 或 MySchemaObject?
2022-09-01 12:01:23
我有两个代码,在两个不同的java项目中,做几乎相同的事情,(根据xsd文件取消Web服务的输入)。
但是在一种情况下,我应该这样写:(输入是占位符名称)(元素是OMElement输入)
ClassLoader clInput = input.ObjectFactory.class.getClassLoader();
JAXBContext jc = JAXBContext.newInstance("input", clInput);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() );
在另一个库中,我必须使用JAXBElement.getValue(),因为它是返回的JAXBElement,并且简单的(输入)转换只是崩溃:
Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() ).getValue();
你知道是什么导致了这样的差异吗?