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:
- JSR 173: eine Streaming-API für XML
- Die JAXP-Referenzimplementierung enthält ebenfalls StAX.
- JAXP JavaDoc
Neueste Kommentare
2 Kommentare zu StAX: So parst man XML-Code mit Java
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
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!
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…