XML-File schreiben - Einrückung fehlt trotz INDENT yes.
MudGuard
- java
Hi,
Ich benutze folgenden Code, um aus einem XML-Dokumentenbaum ein XML-File zu erzeugen:
Source source = new DOMSource(document);
Result result = new StreamResult(mOptionFile);
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.setOutputProperty(OutputKeys.INDENT, "yes");
xformer.transform(source, result);
Funktioniert auch, nur leider hat das xformer.setOutputProperty(OutputKeys.INDENT, "yes"); nicht ganz die gewünschte Wirkung.
Es bewirkt zwar, daß die Elemente nicht alle auf eine Zeile geschrieben werden, aber eingerückt werden sie leider auch nicht.
Ohne INDENT "yes" bekomme ich
<root><child><grandchild/><grandchild/></child><child><grandchild/></child></root>
Mit INDENT "YES" bekomme ich
<root>
<child>
<grandchild/>
<grandchild/>
</child>
<child>
<grandchild/>
</child>
</root>
Aber eigentlich hätte ich gerne
<root>
<child>
<grandchild/>
<grandchild/>
</child>
<child>
<grandchild/>
</child>
</root>
Was mache ich falsch?
cu,
Andreas
Hallo,
Was mache ich falsch?
Vermutlich nichts. Verwendest du JDK1.5? Dann schau dir mal folgenden
Link an: http://forums.java.sun.com/thread.jspa?threadID=562510
Leider variiert das XML-Verhalten zwischen den einzelnen Java-Versionen
ganz erheblich, was sehr ärgerlich ist. Will man jedes JDK unterstützen,
bleibt einem kaum etwas anderes übrig, als Xerces zu verwenden und
es dann zusammen mit dem eigenen Produkt auszuliefern...
Gruß
Slyh
Hi,
Was mache ich falsch?
Vermutlich nichts. Verwendest du JDK1.5? Dann schau dir mal folgenden
Link an: http://forums.java.sun.com/thread.jspa?threadID=562510
Ja, 1.5 ist im Einsatz.
Keine der dort genannten Methoden führt zu Einrückungen ...
Leider variiert das XML-Verhalten zwischen den einzelnen Java-Versionen
ganz erheblich, was sehr ärgerlich ist. Will man jedes JDK unterstützen,
bleibt einem kaum etwas anderes übrig, als Xerces zu verwenden und
es dann zusammen mit dem eigenen Produkt auszuliefern...
Geht leider nicht.
Aber ich werde versuchen, den Entscheidungsträger doch noch zu überreden ...
Sooo wichtig ist die Einrückung letzten Endes aber eigentlich nicht - die Files sollen nicht manuell bearbeitet werden (aber für die Kontrolle, ob auch das reinkommt, was reinsoll, wärs halt schön.
cu,
Andreas