MudGuard: XML-File schreiben - Einrückung fehlt trotz INDENT yes.

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

--
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  1. 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

    1. 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

      --
      Warum nennt sich Andreas hier MudGuard?
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.