Kleine Sektflaschen Hochzeit
Die wohl einfachste Form eine XML-Datei mit Java zu schreiben, stellt das Framework JDOM/JDOM2 1 dar. Das Beispiel demonstriert dies anhand einer einfachen XML-Datei. Die Datei wird in drei Schritten erstellt, die durch gesonderte Methoden repräsentiert werden. Sie werden der Reihe nach in main() aufgerufen. Erstellen des Document ‑Objektes. Der Inhalt einer XML-Datei wird durch ein Document ‑Objekt repräsentiert, das hier in der Methode createDoc() erzeugt wird. Dem Konstruktor werden im Beispiel der Bezeichner des Rootelementes und der Namensraum übergeben. Die Übergaben lassen sich je nach Anforderung variieren, da die Klasse fünf überladene Konstruktoren definiert. Die Knoten eines XML-Dokumentes werden bei JDOM als Elemente bezeichnet. Beliebige XML-Datei in interne Tabelle einlesen - Tricktresor. Wie alle Elemente wird auch das Rootelement als Element ‑Objekt erzeugt. Auch die Element -Klasse definiert fünf überladene Konstruktoren. Sie stellt mannigfaltige Methoden für den Zugriff auf Elemente, wie das Hinzufügen und Ändern von Daten, Attributen und Elementen selbst bereit.
Unter Eclipse bewerkstelligt man dies mittels Build path - Use as Source folder. Lesen und Schreiben Mit Hilfe der generierten Klassen und der JAXB API ist das Lesen und Schreiben einer GPX Datei nun ein Kinderspiel: import *; public class GpxJaxb { public GpxType readGpx(File file) throws JAXBException { return JAXB. unmarshal(file, GpxType. class);} public void writeGpx(GpxType gpxFile, File file) throws JAXBException { JAXBContext jc = wInstance(GpxType. Java xml datei einlesen e. class); Marshaller m = eateMarshaller(); tProperty(Marshaller. JAXB_FORMATTED_OUTPUT, true); ObjectFactory obf = new ObjectFactory(); rshal(eateGpx(gpxFile), file);} Während das Einlesen nur aus einer einzigen Anweisung besteht, sind beim Herausschreiben einige Umstände mehr vonnöten, um eine formatierte XML Ausgabe zu erzielen. JAXB. unmarshal() liefert ein Objekt vom Typ GpxType zurück, das direkt der fachlichen Anwendungsdomäne entstammt. Methoden wie getWpt und getRte liefern typisierte Listen von Wegpunkten und Routen zurück. Der Anwendungsfall «Erzeuge Routen aus Wegpunkten» lässt sich damit sofort ohne Kenntnis von XML Technologien implementieren: public void createRouteFromWaypoints(GpxType gpxFile) { RteType route = new RteType(); ()(route); tName( "Created from waypoints"); for (WptType pt: ()) { tRtept()(pt);}} public static void main(String[] args) throws Exception { GpxJaxb simpleGpxJaxb = new GpxJaxb(); File file2 = new File( ""); GpxType gpxType = adGpx(file2); eateRouteFromWaypoints(gpxType); File file3 = new File( ""); simpleGpxJaxb.
Bei Verwendung von JDOM2 müssen die Import-Aweisungen von "import " auf "import org. jdom2... " angepasst werden.