Tabs/Einrückungen der XML-Elemente gehen beim Schreiben verloren

Status
Nicht offen für weitere Antworten.

Detond

Mitglied
Hallo miteinander,

z.Z benutze ich zur Erzeugung von XML-Dateien java-xmlbuilder - Google Code (java-xmlbuilder). Im Prinzip gelingt es mir nicht, den angegeben Beispielcode auf der Entwicklerhomepage mit korrekter Einrückung zu erstellen.

[HIGHLIGHT="Java"]XMLBuilder builder = XMLBuilder.create("Projects")
.e("java-xmlbuilder")
.a("language", "Java")
.a("scm","SVN")
.e("Location")
.a("type", "URL")
.t("http://code.google.com/p/java-xmlbuilder/")
.up()
.up()
.e("JetS3t")
.a("language", "Java")
.a("scm","CVS")
.e("Location")
.a("type", "URL")
.t("http://jets3t.s3.amazonaws.com/index.html");

Properties outputProperties = new Properties();
outputProperties.put(javax.xml.transform.OutputKeys.METHOD, "xml");
outputProperties.put(javax.xml.transform.OutputKeys.INDENT, "yes");

PrintWriter writer = new PrintWriter(new FileOutputStream("projects.xml"));
builder.toWriter(writer, outputProperties);[/HIGHLIGHT]

Der Output, also die XML-Datei ist korrekt, jedoch fehlen sämtliche Einrückungen. Unterstützt diese Option das Paket "java-xmlbuilder nicht (das ich benutze), oder mach ich bei der Ausgabe etwas falsch?

Viele Grüße...
 

Detond

Mitglied
Naja, jedes Element beginnt halt am Anfang einer Zeile.
Kleines Beispiel:

So soll es aussehen:

[HIGHLIGHT="xml"]<?xml version="1.0" encoding="UTF-8"?>
<Projects>
<java-xmlbuilder language="Java" scm="SVN">
<Location type="URL">http://code.google.com/p/java-xmlbuilder/</Location>
</java-xmlbuilder>
<JetS3t language="Java" scm="CVS">
<Location type="URL">http://jets3t.s3.amazonaws.com/index.html</Location>
</JetS3t>
</Projects>[/HIGHLIGHT]

vs

So sieht es aus:

[HIGHLIGHT="xml"]<?xml version="1.0" encoding="UTF-8"?>
<Projects>
<java-xmlbuilder language="Java" scm="SVN">
<Location type="URL">http://code.google.com/p/java-xmlbuilder/</Location>
</java-xmlbuilder>
<JetS3t language="Java" scm="CVS">
<Location type="URL">http://jets3t.s3.amazonaws.com/index.html</Location>
</JetS3t>
</Projects>[/HIGHLIGHT]
 
Zuletzt bearbeitet:

Detond

Mitglied
ich weiß zwar nicht was da genau passiert, aber es funktioniert dank
[HIGHLIGHT="Java"]outputProperties.put("{http://xml.apache.org/xslt}indent-amount", "2")[/HIGHLIGHT]

danke
erklärungen stehe ich offen gegenüber ;)
 

Ebenius

Top Contributor
Offensichtlich verwendet der XMLBuilder bei Dir einen Apache-XSLT-Transformer, der ohne dieses Property davon ausgeht, dass Einrückungen mit 0 Zeichen ne Klasse Idee sind. Xerces geht im Standardfall von 2 Zeichen aus, glaube ich. Ich kenne das Problem und habe auch suchen müssen. :) Die Zeile oben setzt ein Outputproperty, welches implementierungsabhängig ist und nur vom Apache-XSLT-Transformer beachtet wird.

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
K XML Tabs als Knoten gezählt XML & JSON 3
L XML einlesen gleichnamige Elemente XML & JSON 5
J Parent- und Child-Elemente mit gleiche Namen, geht das ? XML & JSON 1
S XML - Bestehende Elemente ändern XML & JSON 1
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
R Verschachtelung gleichnamiger Elemente XML & JSON 7
D optionale Elemente mit defaultwerten werden in xml miterzeugt XML & JSON 2
A Elemente aus mehreren XML-Dateien zu einem zusammenfügen XML & JSON 5
G JAXB und verschachtelte Elemente? XML & JSON 6
J Anzahl der Elemente in einem XML-Dokument auslesen XML & JSON 7
F Hilfe beim bearbeiten von XML elemente XML & JSON 3
G Wieviele Elemente von TagName, ich brings nicht hin XML & JSON 5
G Leere Elemente verhindern XML & JSON 7
aze JaxB Elemente in LinkedHashSet werden nicht wiededergegeben XML & JSON 3
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
S JTree - Nur Elemente mit Attributen einfügen XML & JSON 2
T Elemente zählen mit JDOM in XML XML & JSON 7
G XML Parser Fehler, zwei gleiche kind-Elemente XML & JSON 7
F Elemente sortieren lassen XML & JSON 2
I Editor, der nur Elemente einfuegt, die nach xsd zulaessig XML & JSON 2
G xml einlesen und bestimmte Elemente an eine gui_Klasse überg XML & JSON 25
H Elemente eines Node auslesen XML & JSON 2
M XML Elemente mit JDOM durch Text ersetzen XML & JSON 2
P JDom nimmt keine Elemente an. XML & JSON 3
M Elemente mit Prefix via JDOM erstellen XML & JSON 6
J Jdom Elemente lesen XML & JSON 5
P zugriff auf gewuenschte elemente klapp nicht. XML & JSON 3
T Einfach nur die Elemente einer XML Datei auslesen :( XML & JSON 10
T Elemente aus XML-File löschen (JDom) XML & JSON 9
G Xml Elemente in eine Liste abspeichern! XML & JSON 2
G Elemente in XML XML & JSON 4
G brauche Tips, wie ich am besten auf Elemente zugreife XML & JSON 5
D Xml-Datei in JTree anzeigen und Elemente ausblenden XML & JSON 2
S JDOM Elemente suchen XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben