Создание класса JAXB через xsd и получение результата unmarshalling xml в объекте класса - PullRequest
1 голос
/ 20 июня 2019

Через Jaxb создал класс, используя (xjc -d C: \ temp -p путь proj * xsd *) (в cmd) из файла xsd, используя тот же объект класса для чтениярезультат отмены сортировки файла xml, xsd которого мы использовали.

Ошибка: невозможно преобразовать javax.xml.bind.JAXBElement в TypeConversionSteps.Conversion.ESPARKType.

команда преобразования cmd:xjc -d C: \ temp -p MarshalAnd C: \ Users \ shuklqq \ Documents \ MarshalAndUnmarshal \ OCLEntry.xsd

Код демаршаллинга

public void unmarshal() throws JAXBException , IOException{
        try{

            ESPARKType test1 = new ESPARKType();
            JAXBContext context = JAXBContext.newInstance(ESPARKType.class.getPackage().getName());
            System.out.println (context.createUnmarshaller().unmarshal(new FileReader("C:\\Users\\shuklqq\\Documents\\Conversion\\target\\OCL.xml")));
            test1 = (ESPARKType)context.createUnmarshaller().unmarshal(new FileReader("C:\\Users\\shuklqq\\Documents\\Conversion\\target\\OCL.xml"));
            System.out.println(test1);
        }catch (Exception e){
            System.out.println("ERROR "+e.getMessage());
            e.printStackTrace();
        }
    }

Сообщение об ошибке:

javax.xml.bind.JAXBElement@4459eb14 Ошибка.Conversion.ESPARKType в TypeConversionSteps.Conversion.ApplicationUnmarshalling.unmarshal (ApplicationUnmarshalling.java:18) в TypeConversionSteps.Conversion.ConversionApplication.main (ConversionApplication.java:15)

...