Unmarshal JAXB

Status
Nicht offen für weitere Antworten.

evil_one

Mitglied
Hallo,

ich habe ein XML Schema das für verschiede XML Dateien steht.
Im Klartext: Die XSD steht für verschiedene Nachrichten Typen.
Zum Beispiel:

  • Nachricht von Kunde zum Händler
    Nachricht von Händler zum Kunde

um nur 2 zu nennen.

Diese Nachrichten liegen nun in Form einer XML Datei in einem Verzeichnis.

Ich möchte nun jede Datei durchgehen und jede Datei in einen Objektbaum umwandeln.

Ich habe mir aus der XSD auch schon die Java Klassen gebaut.

1. Klasse NachrichtvonKundezumHaendler
2. Klasse NachrichtvonHaendlerzumKunde

Jetzt mein Problem beim Unmarshalling

Folgendes geht Ohne Probleme:
Code:
NachrichtvonKundezumHaendler nvkzh = (NachrichtvonKundezumHaendler) u.unmarshal(new File("20071011.xml"));

Und dies hier führt zur ClassCastException
Code:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
Object o = u.unmarshal( new File( "nosferatu.xml" ) );

Ich weiß doch aber vorher nicht was für ein Objekt ich erzeugen möchte. So kann ich im Quellcode auch nicht festlegen was für ein Objekt erzeugt werden soll.

Kann mir jemand sagen wie ich das allgemeingültig schreiben kann?
 

Niki

Top Contributor
Hast du unterschiedliche Schemata für die XML-Dateien, oder wird immer das selbe Objekt erzeugt?
 

Murray

Top Contributor
evil_one hat gesagt.:
Und dies hier führt zur ClassCastException
Code:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
Object o = u.unmarshal( new File( "nosferatu.xml" ) );
Zeigt mal den StackTrace der Exception zusammen mit den betr. Codezeilen,
 

evil_one

Mitglied
@niki: es handelt sich um eine Schemata... Hier die Infos zum Schema

@Murray: Mein geposteter Code bringt natürlich keine ClassCastException habe ich jetzt gesehen, da ich ja den Unmarshaller in ein Objekt vom Typ Object schreibe.
Nur die Umwandlung vom Objekt in die entsprechende KLasse geht halt net.

Ich weiß ich antworte spät. Wäre schön wenn ihr trotzdem mal drüber schauen könntet.
 

Niki

Top Contributor
Gib dir mal den Typ aus den du zurück bekommst. getClass().getName()....
Dann caste es mal auf diese Typ und schau dir die Methoden an die du hast. Bei JAXB musst du glaub ich einen Zwischenschritt machen. Du bekommst ein JAXBElement glaub ich zurück. Auf dieses Objekt kannst du dann getValue() aufrufen. Dieses sollte dann genau das Element sein, welches du willst!
 

evil_one

Mitglied
Ja ok das stimmt schon...
Ich kann mir ja ausgeben lassen was es für ein Typ ist.

nur es ist ja jedes mal ein anderer nachrichten typ.

Wie gehe ich dann beim casten vor?
 

Niki

Top Contributor
Wie soll das ein anderer Typ sein wenn du nur ein Schema hast. Das Oberste Element musst du ja immer auf das selbe Objekt casten können. Das Root-Element muss das gleiche bleiben, das geht ja sonst gar nicht, da du ja sonst eine ParseException bekommen würdest. Wenn du das Root Element hast musst dich halt mit diversen Abfragen durch die Objekte durcharbeiten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JAXB - Unmarshal -> Kinder bekommen und die Kinder von den Kinder XML & JSON 7
F JAXB Unmarshal - Kein "default Constructor" XML & JSON 2
R JAXB Unmarshal XML & JSON 2
R Castor unmarshal von XML Dokument - ClassCastException aufgrund vom falschen ClassLoader? XML & JSON 1
DaRolla how to unmarshal this with xstream? XML & JSON 2
DaRolla UTF-8 Castor Unmarshal Fehler? XML & JSON 2
8u3631984 jaxb XML Mapper - Root Element mit Attribut XML & JSON 20
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
Rakshan Unmarshalling multiple namespaces with jaxb XML & JSON 0
B JAXB und HTML XML & JSON 1
E JAXB und java.nio.file.Path XML & JSON 4
W jaxb-api XML Feld nicht gesendet setzt das Defaultvalue nicht XML & JSON 3
S Muss ich bei JAXB immer noch eine zusaetzliche List-Wrapper Klasse erstellen wenn ich mehrere Objekte serialisieren will..? XML & JSON 1
S JAXB mit mehreren zusammenhängenden .xsd-Files XML & JSON 0
N JAXB: Überflüssiges Wrapper-Tag für Map-Einträge XML & JSON 0
D JAXB mit Map und Color XML & JSON 2
K JAXB-XML unvollständig XML & JSON 1
K JAXB Unmarshelling XML & JSON 1
E JAXB und abstrakte Klasse(n) XML & JSON 0
B JAXB - Marshal ArrayList XML & JSON 2
B JAXB - java.util.Locale does not have a no-arg default constructor XML & JSON 2
B JAXB-Fehler bei REST-Api XML & JSON 0
M JAXB HashMap Dynamisches Laden XML & JSON 0
M JAXB @XMLID und @XMLIDREF, wie Daten hinzufügen XML & JSON 2
P JAXB-Problem XML & JSON 1
A JAXB: XMLMixed generieren XML & JSON 0
R [JAXB] XmlRootElement und XmlType gemeinsam nutzen XML & JSON 0
I XML to Object - Mapping mit JAXB 1.0 XML & JSON 1
L JAXB - Generischen Wert mit Liste belegen XML & JSON 1
M XML-Datei mit JAXB und 2 Namespaces XML & JSON 0
K JAXB Annotation @XMLRootElement vererben XML & JSON 0
F.S.WhiTeY JAXB: Schema nicht "erben" XML & JSON 2
B JAXB - manuell Klassen aus xsd XML & JSON 3
S Jaxb Unmarshalling Problem XML & JSON 4
S JAXB - Any Elementliste - wie Werte verändern? XML & JSON 4
R JAXB: A cycle is detected in the object graph. This will cause infinitely deep XML XML & JSON 6
M JAXB versucht abstrakte Klasse zu erzeugen XML & JSON 7
M JAXB: automatisches Groß schreiben Property XML & JSON 9
C Projekt - JAXB, EMF oder doch DOM? XML & JSON 4
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
R sax, stax, jdom, jaxb? List von Objekten speichern und laden XML & JSON 6
J JAXB: Mehrmals abspeichern XML & JSON 3
D XML Einlesen mit JaxB XML & JSON 4
W JAXB Binding customization XML & JSON 4
L JAXB und Interfaces XML & JSON 4
S Problem with JAXB unmarshalling classes that have the same name in @XmlRootElement XML & JSON 2
eykarhorn JAXB namespace attribut aus rootelement entfernen XML & JSON 2
nrg JAXB - nor any of its super class is known to this context XML & JSON 3
S aus XML mit JAXB zu Baumstruktur XML & JSON 3
nrg JAXB generell auf XMLs übertragbar XML & JSON 22
Landei JAXB: Wert von übergeordneten Element XML & JSON 4
B PropertyChangeListener generieren mit JAXB (xjc) XML & JSON 3
G JAXB und verschachtelte Elemente? XML & JSON 6
G JAXB XML-Attribute feststellen XML & JSON 4
S JAXB 2 und JSR 303 XML & JSON 11
M [JAXB] @XmlAnyElement namespace XML & JSON 4
J JAXB und ArrayList XML & JSON 4
Landei Jpa2 -> jaxb??? XML & JSON 9
M JAXB - HashMap XML & JSON 1
dzim JAXB-Unmarshalling ignoriert/löscht Einträge aus XML - oder lässt sie verschwinden XML & JSON 3
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
ruutaiokwu jaxb eclipse plugin... XML & JSON 3
K JAXB: Klassen mit Annotation Lesen/Schreiben XML XML & JSON 3
R JAXB ausgewählte Felder XML & JSON 10
TiME-SPLiNTER JAXB: com.sun.xml.bind.v2.ContextFactory XML & JSON 3
V JAXB und leere Listen XML & JSON 2
L compareto(), equals() in JAXB generierten Dateien XML & JSON 3
D jaxb validierung/verification vor marshalling XML & JSON 3
J JAXB mit GregorianCalendar XML & JSON 4
HombreDelMundo JAXB can't handle interfaces XML & JSON 4
N Individuelles Wrapper-Element um Collection mit JAXB XML & JSON 6
B JAXB Unmarshalling mehrerer Objekte XML & JSON 2
V JAXB schema 2 java XML & JSON 3
B JPA + JAXB Mapping Problem XML & JSON 2
S Navigieren in unbekannten JAXB-Objecten XML & JSON 2
J JAXB NullPointerException im ContextFinder XML & JSON 6
H JAXB und STAX XML & JSON 2
H JAXB Probleme beim Unmarshalling XML & JSON 3
C Serialisierung mit JAXB XML & JSON 6
K JAXB und Maps -> Marshalling-Problem XML & JSON 6
S JAXB und viele verschachtelte Attribute XML & JSON 1
J JAXB - Map XML & JSON 2
O JAXB generierte Klassen sollen Serializable implementieren XML & JSON 1
aze JaxB: Nullelemente in Array nicht anzeigen XML & JSON 3
turmaline JAXB can't handle interfaces XML & JSON 20
sambalmueslie JAXB - Unmarshall ein XML-Document das aus zwei XSD Definitionen besteht XML & JSON 8
S JAXB und abstrakte Klasse(n) XML & JSON 4
P JAXB: Marshalling XML & JSON 7
aze JaxB Elemente in LinkedHashSet werden nicht wiededergegeben XML & JSON 3
M JAXB: Wie folgendes Konstrukt abbilden? XML & JSON 20
A Jaxb und Interfaces XML & JSON 12
B JaxB und XSD :-) XML & JSON 8
G JAXB - Marshaller - kein Rückgabewert XML & JSON 2
N XML will nicht weder JAXB noch XStream XML & JSON 8
F Zugriff auf durch JAXB erzeugte Object-Struktur... XML & JSON 6
C Java-Imports bei Jaxb XML & JSON 8
F Marshaling eines JAXB Objektes worin ein anderes JAXB Objekt eingeschlossen ist XML & JSON 6
K JAXB, Vererbung und Codegeneration XML & JSON 2
M XmlRootElement und JAXB XML & JSON 4
R JAXB: Aus einem Vector oder List XML Datei erstellen XML & JSON 1

Ähnliche Java Themen

Neue Themen


Oben