UNMARSHALLER ERROR WHEN READING AN XML FILES

0

CODE: // We create the context indicating the root class in this case Universidad.java

    JAXBContext context = JAXBContext.newInstance(Universidad.class);

    //Creamos el Marshaller, convierte el java bean en una cadena XML
    Marshaller m = context.createMarshaller();

    //Limpiamos el xml si existe para imprimirlo correctamente
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

    // Lo visualizamos con system out
    //m.marshal(miUniversidad, System.out);

    // Escribimos en el archivo
    m.marshal(miUniversidad, new File("c:\temporal\universidad.xml"));

    // Visualizamos ahora los datos del documento UNIVERSIDAD.XML creado
    System.out.println("------------ Leo el XML ---------");

    //Se crea Unmarshaller en el cotexto de la clase Libreria
    Unmarshaller unmars = context.createUnmarshaller();

    //Utilizamos el método unmarshal, para obtener datos de un Reader
    Universidad miUniversidad2 = (Universidad) unmars.unmarshal(new FileReader("c:\temporal\universidad.xml"));

    //Recuperamos el array list y visualizamos
    ArrayList<Departamento> listaUniversidad = miUniversidad2.getlistaDepartamento();

    //recorremos el arraylist

    for (Departamento dep : listaUniversidad) {

        System.out.println("Nombre del departamento: "+ dep.getNombre());
        System.out.println("Edificio del departamento: "+ dep.getEdificio());
        System.out.println("Profesores del departamento: ");

        ArrayList<Profesor> listaprofesores =  dep.getprofesores();
        for (Profesor profe : listaprofesores) {
            System.out.println("\tNombre profesor: " + profe.getNombrep() + " , Especialidad: " + profe.getEspecialidad());
        }

    }

SAMPLE IN CONSOLE: ------------ I read the XML ---------

  

Exception in thread "main" java.lang.NullPointerException at   com.sun.xml.bind.v2.runtime.reflect.Lister $ CollectionLister.addToPack (Lister.java:304)     at   com.sun.xml.bind.v2.runtime.reflect.Lister $ CollectionLister.addToPack (Lister.java:268)     at com.sun.xml.bind.v2.runtime.unmarshaller.Scope.add (Scope.java:121)     at   com.sun.xml.bind.v2.runtime.property.ArrayERProperty $ ReceiverImpl.receive (ArrayERProperty.java:213)     at   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.endElement (UnmarshallingContext.java:614)     at   com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.endElement (SAXConnector.java:180)     at   com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement (Unknown   Source) at   com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement (Unknown   Source) at   com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl $ FragmentContentDriver.next (Unknown   Source) at   com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next (Unknown   Source) at   com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next (Unknown   Source) at   com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument (Unknown   Source) at   com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse (Unknown   Source) at   com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse (Unknown   Source) at   com.sun.org.apache.xerces.internal.parsers.XMLParser.parse (Unknown   Source) at   com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse (Unknown   Source) at   com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse (Unknown   Source) at   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0 (UnmarshallerImpl.java:258)     at   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal (UnmarshallerImpl.java:229)     at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal (Unknown   Source) at   javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal (Unknown   Source) at FicheroUniversidad.main (FileUniversidad.java:101)

    
asked by Ruslan López 11.11.2018 в 12:24
source

0 answers