Suchen

Definition „Document Object Model für Java“ Was ist JDOM?

| Autor / Redakteur: chrissikraus / Stephan Augsten

JDOM ist eine Softwarebibliothek für Java und dient der Manipulation von XML-Dokumenten. Ziel ist es, in von Java über eine Baumstruktur auf ein XML-Dokument zuzugreifen,

Firma zum Thema

JDOM ist eine Java-taugliche Dokumentendarstellung für XML-Daten, kommt aber nicht ohne externen XML-Parser aus.
JDOM ist eine Java-taugliche Dokumentendarstellung für XML-Daten, kommt aber nicht ohne externen XML-Parser aus.
(Bild: JDOM2 / Maven.org)

Die Open-Source-Softwarebibliothek JDOM wurde als Ergänzung zur vorhandenen Java API konzipiert, um die Verarbeitung von XML-Daten bequemer und effizienter zu gestalten. Es wurde speziell im Hinblick auf die Programmiersprache Java entwickelt und versucht, die Vorteile des DOM (Document Object Model) und SAX (Simple API for XML, eine einfache XML Parser API) in einer Java-Klasse zu vereinen.

JDOM ist sehr übersichtlich und bietet im Prinzip nur wenige, dafür aber elementare Funktionen zur Verarbeitung vom XML-Daten. Wichtig: Zum Einlesen benötigt JDOM immer die Hilfe eines separaten XML-Parsers, z. B. SAX. Es ist kein eigenständiger Parser für XML, sondern vielmehr eine Java-taugliche Dokumentendarstellung für XML-Daten.

Der JDOM-Baum

JDOM erstellt, ähnlich wie viele andere XML-APIs, eine Baumstruktur aus den XML-Daten, die es einliest. Das Document-Objekt dient dabei als Container für alle anderen Elemente bzw. im Kontext der Baumstruktur als Wurzel.

Der JDOM-Baum weicht aber auch in einigen Details vom klassischen DOM-Baum ab, um die Handhabung der Daten bequemer und intuitiver zu gestalten. In der klassischen DOM-API ist z. B. jedes Element aus den XML-Daten ein Elementknoten, der enthaltene Text ein Textknoten usw.

JDOM behandelt den Text hingegen nicht als eigenen Knoten und bietet daher auch keine eigene Text-Klasse. Stattdessen wird der Text seinem übergeordneten Element zugeordnet und kann per ElementgetText()-Methode abgefragt werden. Insgesamt ist der JDOM-Baum so gestaltet, um für Java-Entwickler auch ohne tiefe Kenntnisse von Baumstrukturen und DOM intuitiv zu sein.

Eingelesene Baumstruktur ausgeben

JDOM bietet auch die Möglichkeit, die als JDOM-Baum vorliegenden XML-Daten in verschiedenen Formaten auszugeben. Der XMLOutputter gibt die Daten als Text im XML-Format zurück. Der SAXOutputter hingegen gibt sie als SAX-Ereignisse zurück – das ist das Format, das beim Parsen von XML-Daten mittels SAX genutzt wird.

Der JDOM-Baum kann also z. B. als herkömmliches XML - Dokument gespeichert oder an einen SAX-Parser weitergegeben werden. Außerdem bietet JDOM noch einen DOM-Outputter, welcher den JDOM-Baum in einen herkömmlichen DOM-Baum konvertiert.

(ID:45974924)