XML und Transformer

lubu

Mitglied
Hi,

ich möchte große XML-Dateien "verschönern" und habe zu diesem Zweck die Methode prettyPrint() erstellt. Eine Lösung mittels JDOM entfällt, da die XML-Dateien recht groß sein können (da gibt er schon diese nette prettyPrint-Methode). So gesehen fand ich den Hinweis mit dem Transformer aus einen der letzten Beiträge sehr gut. Allerdings funktioniert es nicht wie gewünscht und es werden keine "Einrückungen" vorgenommen, so wie ich mir das vorgestellt habe.
In der angesprochenen Methode wird eine schon bestehende valide XML-Datei eingelesen und soll entsprechend formatiert ausgegeben werden.

Code:
    public boolean prettyPrint(String strFileIn, String strFileOut){
        boolean bReturn = false;
        
        try{
            
            File fileIn = new File(strFileIn);
            
            PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(strFileOut),"UTF-8"));
            
            Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT,"3");
            transformer.transform(new StreamSource(new FileInputStream(fileIn)), new StreamResult(out));

            bReturn = true;
            
        }
        catch (UnsupportedEncodingException e) {
            log.error(e.getMessage());
        }
        catch (FileNotFoundException e) {
            log.error(e.getMessage());
        }
        catch (TransformerConfigurationException e) {
            log.error(e.getMessage());
        }
        catch (TransformerFactoryConfigurationError e) {
            log.error(e.getMessage());
        }
        catch (TransformerException e) {
            log.error(e.getMessage());
        }

        return bReturn;
    }

Was mache ich hier falsch, dass keine Einrückungen in der Ausgabe erfolgen?
(Ein- und Ausgabedatei sind gleich, wenn ich das so verwenden.)

Tschau
Lutz
 

Neue Beiträge

Zurück