StAX: So parst man XML-Code mit Java

Das Schreiben von XML erfolgt über die XMLStreamWriter-Schnittstelle. Dabei werden Methoden zum Festlegen von Elementen, Attributen, Kommentaren, Text und allen anderen Teilen eines XML-Dokuments bereitgestellt. Ein XMLStreamWriter wird wie folgt von einer XMLOutputFactory erstellt:


OutputStream out = new FileOutputStream("data.xml");
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter(out);

Anschließend kommen unterschiedliche writeXXX()– Methoden zum Einsatz:


writer.writeStartDocument("ISO-8859-1", "1.0");
writer.writeStartElement("greeting"); writer.writeAttribute("id", "g1");
writer.writeCharacters("Hello StAX"); writer.writeEndDocument();

Ist das Dokument fertiggestellt, sollten der Speicher bereinigt und der Writer geschlossen werden. Doch das beendet nicht gleichzeitig den zugrundeliegenden Output-Stream. Daher gilt es, diesen ebenfalls zu schließen:


writer.flush(); writer.close(); out.close();

XMLStreamWriter hilft, für die Vollständigkeit des XML-Codes zu sorgen. So schließt beispielsweise endDocument alle ungeschlossenen Start-Tags. writeCharacters führt sämtliche erforderlichen Maskierungen von reservierten Zeichen wie „&“ oder „<“ durch. Allerdings fällt die Überprüfung nur minimal aus.

Welche StAX-Implementierungen gibt es?

Eine Reihe von StAX-Implementierungen ist verfügbar. Am wichtigsten sind die StAX-Implementierung von Sun, Woodstox (eine Open-Source-Implementierung von StAX) sowie die StAX-Referenzimplementierung von Codehaus.

Darüber hinaus bietet das StAX-Utils-Project eine Reihe von Utility-Klassen, die eine Integration von StAX in vorhandene Anwendungen zur XML-Verarbeitung erleichtern. StAX-Utils enthält zum Beispiel Klassen zum Einrücken und Formatieren des Codes in XML-Dateien.

Weitere Quellen:

Themenseiten: Anwendungsentwicklung, Software, XML

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

2 Kommentare zu StAX: So parst man XML-Code mit Java

Kommentar hinzufügen
  • Am 2. Juni 2009 um 13:58 von Det

    Unleserliche Codepräsentation macht den Artikel zu einer Qual
    Hallo,

    dieser Artikel könnte vielleicht sehr nützlich sein (ich hätte die Info für ein Terminprojekt gerade dringend gebrauchen können).

    Leider habe ich keine Lust, jedes Codebeispiel erst aus dem Scroll-Feld herauszukopieren und durch einen Beautifyer zu schicken, damit ich das Ganze nachvollziehen kann.

    Wenn der Artikel bspw. auch druckbar sein soll, dann sollte man den Code schon qualifizierter präsentieren. Im Druck wird 1.) die Schmalspaltensicht beibehalten und zum Anderen nur der Viewport gezeigt. Alles andere wird abgeschnitten.

    Diese Codepräsentation finde ich auf einer IT-lastigen Site wie ZDNet doch eher lächerlich!

    • Am 3. Juli 2010 um 20:23 von Tja

      AW: Unleserliche Codepräsentation macht den Artikel zu einer Qual
      „Ich hätte die Info gerade dringend für ein Terminprojekt brauchen können, habe aber leider keine Lust die Codebeispiele rauszukopieren“

      Haben Sie das auch Ihrem Auftraggeber so gesagt?
      Der muss wohl schon froh sein, dass Sie Lust hatten, den Browser zu öffnen…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *