# JAXB Probleme beim Unmarshalling



## HakBak (19. Mai 2010)

Hallo, 
ich versuche mich gerade ein wenig an JAXB. Ich habe ein Schema und eine passende XML Datei dazu. Das Schema habe ich schon in Klassen mit der xjc.exe umgewandelt.
Nun wollte ich mir ein Programm schreiben um die Xml Datei auszulesen.


```
public static void main(String[] args) {
		try {
			JAXBContext context = JAXBContext.newInstance( ROWTYPE.class );
			Unmarshaller um = context.createUnmarshaller(); 
			ROWTYPE rt = (ROWTYPE) um.unmarshal( new FileReader( "test.xml" ) );
			System.out.println(rt.getMDPID());
		} catch (JAXBException e) {
			
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			
			e.printStackTrace();
		}
	}
```
Nun ist es so, dass ich hierbei eine classcast-exception bekomme, er meckert: javax.xml.bind.JAXBElement cannot be cast to dtBank.ROWTYPE

Ich weiss, das sind nicht sonderlich viele Informationen, aber ich kann irgendwie gerade nicht viel mit der Fehlermeldung anfangen und weiss nicht, wo ich das Suchen anfangen soll.

Danke schonmal


----------



## kidsos (19. Mai 2010)

Zeig doch mal deine Klassen (bzw. poste mal die XSD). Die Vorgehensweise zum Laden der XML ist bei dir richtig. Da muss irgendwas anderes schief laufen.


----------



## musiKk (19. Mai 2010)

Naja, die Fehlermeldung ist doch eindeutig. Du erhältst ein Objekt vom Typ [c]JAXBElement[/c] und Du versuchst es nach [c]ROWTYPE[/c] (besser wäre [c]Rowtype[/c]) zu casten. Ein kurzer Blick in die Doku zeigt, dass ein [c]JAXBElement[/c] eine JAXB-Repräsentation eines Objekts ist, an das man mit der Methode [c]getValue()[/c] kommt.


----------



## Wildcard (19. Mai 2010)

Warum JAXB wenn es wesentlich bessere Alternativen gibt?
Eclipse Modeling - EMF - Home


----------

