Hallo,
ich hab mit Hilfe von STAX (Cursor-Variante) eine XML-Datei erzeugt..
Die Formatierung hab ich nun mit Hilfe von
vorgenommen.
Gibt es vielleicht eine schönere Variante, das XML-Dokument zu formatieren?
Wenn ich das erzeugte XML-Dokument mit dem Browser öffne,
dann ist es schön als Baumstruktur sichtbar,
ABER wenn ich das XML-File mit nem normalen Texteditor öffne, dann steht alles auf einer Zeile. Muss ich mit der Codierung vielleicht noch was machen? Also so z.B.
Leider fügt er mir das "UTF-8" nicht im XML-Dokument hinzu, statt
schreibt er mit das so:
Hat die Codierung was mit der Darstellung im Text-Editor zu tun?
Gibts ne Möglichkeit, wie bei SAX das mit mit nem schönen Transformer zu machen?
Also ungefähr so:
dank vorab.
ich hab mit Hilfe von STAX (Cursor-Variante) eine XML-Datei erzeugt..
Die Formatierung hab ich nun mit Hilfe von
Code:
writer.writeDTD("\n"); //neuer Tag beginnt
writer.writeDTD("\t"); // neuer Sub-Tag beginnt
vorgenommen.
Gibt es vielleicht eine schönere Variante, das XML-Dokument zu formatieren?
Wenn ich das erzeugte XML-Dokument mit dem Browser öffne,
dann ist es schön als Baumstruktur sichtbar,
ABER wenn ich das XML-File mit nem normalen Texteditor öffne, dann steht alles auf einer Zeile. Muss ich mit der Codierung vielleicht noch was machen? Also so z.B.
Code:
...
XMLOutputFactory factory = XMLOutputFactory.newInstance();
// XMLStreamWriter -> Cursor-Version
XMLStreamWriter writer = factory.createXMLStreamWriter(new FileOutputStream(xmlFile),"UTF-8");
// write XML-Header
writer.writeStartDocument();
writer.writeDTD("\n");
..
Leider fügt er mir das "UTF-8" nicht im XML-Dokument hinzu, statt
Code:
<?xml version="1.0" encoding="UTF-8"?>
schreibt er mit das so:
Code:
<?xml version="1.0" ?>
Hat die Codierung was mit der Darstellung im Text-Editor zu tun?
Gibts ne Möglichkeit, wie bei SAX das mit mit nem schönen Transformer zu machen?
Also ungefähr so:
Code:
...
serializer.setOutputProperty(OutputKeys.ENCODING, p_Encoding);
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
...
dank vorab.