Welchen XML Parser / Klassen aus XSD generieren lassen

y0dA

Erfahrenes Mitglied
Hi!
Ich benutze Java 6 und muss nun ein XML File parsen und dessen Inhalt ausgeben sowie ein XML File schreiben und jenes an ein Webservices schicken. Hierfür habe ich ein XSD.

Nun meine Frage mit welchem Parser sollte ich arbeiten sowie ist es möglich aus diesem XSD Java Klassen oder dergleichen zu generieren, damit ich mit dem eingelesenen/geparsten XML File arbeiten kann bzw. mit den Werten?

mfg
 
Ich würde die Klasse DomParser empfehlen - ist sicher wieder geschmackssache.
Wobei es da ja Unterschiede bei der Performance geben kann - SAX liest glaube ich zeilenweise, während dom auf einmal alles einliest ==> dom braucht mehr speicher, ist aber schneller. (wenn's anders rum war, sagt bitte bescheid)

Bei kleinen XML-Files ist es performance-technisch aber ziemlich egal, womit du arbeitest.

Mir ist kein Weg bekannt, womit du aus XSD die Parser-Klassen generieren lassen könntest (auch hier lasse ich mich gerne korrigieren). Du kannst allerdings dein XML auf Basis der XSD validieren lassen.
 
Zu DOM SAX:
DOM arbeitet sich schöner (schönere API), wir aber bei großen Files langsam (hoher Speicherverbrauch). Würde auch mit DOM starten und nur bei Perfomanceproblemen auf SAX zurückgreifen.

Code Generieren aus XSD: JAXB ist dein Freund! ;)

REINHAUN!
 
Hi!
Danke für eure Antworten - mit Blick auf die Dinge wurde ein wenig gelichtet.

Nur noch ein paar kl Fragen:

-) Wenn ich JAXB benutze benötige ich keinen separaten Parser (DOM, SAX) mehr?
-) JAXB oder XMLBeans - welche Technologie ist leichter zu verstehen (Zeitdruck)

**EDIT**
Habe nun ein Eclipse Plugin für JAXB gefunden, welches mit die Javaklassen aus einem XSD generiert.
 
Zuletzt bearbeitet:
Hi y0dA,

ich kann XMLBeans nur empfehlen. Ich habe es vor kurzem für einen XML Mapper eingesetzt. So lange du nur mit den generierten Klassen arbeiten willst ist der Zeitaufwand sehr gering.

Gruß KK
 
Zurück