# XML mit Java



## fsteinke (13. Dez 2009)

Hallo,
nach dem lesen von Artikeln etc. ist mir immer noch nicht klar was bei Java zur XML Verarbeitung als Standard mit der Api und was eben nicht mitgeliefert wird bzw. was das zu bevorzugende Paket bezüglich XML Entwicklung ist. 

DOM,JDOM, SAX etc. Welche Pakete machen was? Welche Pakete sind nicht im Standard von Java enthalten (z.B. JDOM?) bzw. sind veraltet?? . 

Sehe da den Wald vor lauter Bäumen nicht mehr. Geht mir auch darum das ich eine Anwendung basierend auf XML erstellen möchte und da die richtge Wahl treffen will.  Also z.B. das es mir auch möglich ist gegen ein Schema zu validieren etc.

Kennt jemand eine gute Übersicht wo das ganze einleuchtend erklärt wird? Kann mir jemand nen Tip bzw. Link geben. Wie gesagt das Netz ist voll aber ne richtig gute Überischt habe ich noch nicht gefunden.


Danke für jeden TIP

Gruß Frederick


----------



## musiKk (13. Dez 2009)

Mir geht es da ähnlich. Eine Zusammenfassung im Netz kenne ich nicht, ich schaue dazu immer in "Java and XML" aus dem O'Reilly-Verlag. Die dritte Auflage ist von 2006 und damit nicht mehr taufrisch, aber definitiv sehr hilfreich.

In [c]javax.xml.parsers[/c] gibt es Factories für DOM und SAX. In [c]javax.xml.transform[/c] weiterhin noch eine für XSL. Zusammen bezeichnet man das als *JAXP* (Java API for XML Processing).

Zum Suchen gibt es *XPath* in [c]javax.xml.xpath[/c].

Dann gibt es im Package [c]javax.xml.stream[/c] eventgesteuerte und streambasierte Reader und Writer. Diese API heißt *StAX* (Streaming API for XML).

Weiterhin gibt es *JDOM* und *dom4j*, welche nochmal eigene APIs sind, die nicht in Java SE enthalten sind. Die können auch mit verschiedenen APIs arbeiten. DOM und SAX unterstützen inzwischen sehr viele, dom4j kann (laut Javadoc) aber z. B. auch mit StAX umgehen; XPath können beide.

Zu guter Letzt gibt es noch JAXB, welches zur Serialisierung eingesetzt wird. Seit ich das kenne, verwende ich die "niederen" APIs eigentlich kaum noch, aber das ist natürlich stark vom Anwendungsfall abhängig.

Es gibt garantiert noch viele mehr, aber das ist ja schon kompliziert genug. 

Achja... und von wegen veraltet und so... JDOM und dom4j habe ich noch nie eingesetzt. JAXP, StAX und JAXB sind aber alle nicht veraltet und es lohnt sich imho, wenn man damit umgehen kann.


----------



## X3TitanCore (13. Dez 2009)

Also bei mir ist die Qual der Wahl auf JAXB gefallen, da dieses momentan immer weiter entwickelt wird und alles bietet was ich gebraucht habe.

Außerdem ist es schon in Java enthalten.

Eine Übersicht kenne ich auch nicht. Da kommt man wohl nicht drumherum sich alles anzusehen und das zu nehmen was man braucht.

Gruß


----------

