2009-03-24 7 views
1

was ist eine gute Java API für die Arbeit mit XML (sowohl DOM und SAX Ansätze)? Ist JAXP eine gute Wahl, oder ist es veraltet? Und was für ein gutes Tutorial zur vorgeschlagenen API kennst du?Java API für XML

Danke.

+0

Haben Sie bei VTD-xml geschaut? –

Antwort

5

Ich mag JDOM, http://jdom.org, die besonders schön für DOM und XPath zu verwenden ist. Es basiert seine SAX auf den JAXP-Klassen.

+0

Das wäre meine erste Antwort gewesen. – mkoeller

+0

Vor einiger Zeit hatte JDOM jedoch eine Schwachstelle im Umgang mit Namespaces. Ich weiß nicht, ob das heute noch so ist. – mkoeller

3

StaX ist erwähnenswert, denke ich.

1

JAXP ist nicht veraltet. Es ist eine gute Wahl für Low-Level-XML-Operationen in Java. Wie immer hängt es davon ab, was Sie mit dem XML machen wollen.

Wenn Sie nur zu und von Objekten konvertieren, versuchen Sie JAXB 2.0. Wenn Sie echte Low-Level-XML-Manipulation (Low-Level-Parsing, XSLT-Transformation, XPath, etc.) benötigen, ist JAXP eine gute Wahl.

Beachten Sie, dass viele Java XML-Lösungen, einschließlich JAXB 2.0, StaX und Jdom (IIRC), gut in JAXP integriert sind und einfach an und von JAXP-Prozessoren übergeben werden können.

2

Versuchen Sie auch XOM, die eine moderne Alternative zu JDOM ist.

0

Es hängt ABSOLUT davon ab, was Sie tun. Andere Leute werden ihre Lieblingsdinge einwerfen, um damit zu arbeiten, aber das ist eine sinnlose Frage ohne Erklärung.

1

Ich empfehle Ihnen Xerces. Unterstützung für DOM und Sax, eine Bibliothek, die seit Jahren versucht. Blick zuerst auf Xerces. Wenn nicht genug oder wenn Probleme auftreten, schauen Sie sich andere Bibliotheken an.

+0

Xerces ist die Implementierung von JAXP, die in der Sun JRE verwendet wird. –

+1

Und es ist wirklich schrecklich. Ich habe vor kurzem ein Projekt damit aufgebaut und es gab eine Woche, als fast alles, was ich bekam, NPE's in internen Methoden von JRE Xerces war, was mich fast dazu brachte, meinen Job in die Landwirtschaft zu ändern ... – Esko

1

Wenn Sie mit XML umgehen wollen und es nicht analysieren müssen, dann ist XMLBeans nett. Sie geben ihm ein Schema und es generiert die Klassen, die für das Parsen zuständig sind.

1

try xstream, ist es die Programmierer freundlich java xml api Ich kenne