# Ergebnis einer XSLT-Tansformation als Rückgabewert erhalten



## cybermat (7. Aug 2006)

Hi,

ich muss eine XSLT-Tranformation durchführen, was auch schon ganz gut funktioniert. Allerdings will ich das Ergebnis nicht direkt ausgeben oder in einem File Speichern, sondern als String in einer Variablen speichern.
Dieses Ergenis muss ich nämlich noch bearbeiten, bevor ich es dann ausgeben kann.

Bisher läuft es nach dem Muster:


```
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;

public class Transform {

    public static void main(String[] args) throws Exception {
        if (args.length != 2) {
            System.err.println(
                "Usage: java Transform [xmlfile] [xsltfile]");
            System.exit(1);
        }

        File xmlFile = new File(args[0]);
        File xsltFile = new File(args[1]);

        Source xmlSource = new StreamSource(xmlFile);
        Source xsltSource = new StreamSource(xsltFile);

        TransformerFactory transFact =
                TransformerFactory.newInstance();
        Transformer trans = transFact.newTransformer(xsltSource);

        trans.transform(xmlSource, new StreamResult(System.out));
    }
}
```

Also entweder gehe ich diesen Weg oder ich schreibe das Ergebnis in ein File, das ich StreamSource übergebe. Ein File könnte ich ja wieder in einen String einlesen und hätte dann das Ergebnis in einer Variablen. Ich würde diesen Umweg über ein File aber gerne vermeiden, gibt es da eine Möglichkeit?

Danke & Gruß,

Mat


----------



## Leroy42 (7. Aug 2006)

Sicher! Schreibe einfach in ein _ByteArrayOutputStream_ aus dem du dann wieder
lesen kannst. Ich weiß jetzt nicht ob es nicht auch mit einem StreamWriter klappt  ???:L


----------



## foobar (7. Aug 2006)

Es gibt auch einen StringWriter: http://java.sun.com/j2se/1.3/docs/api/java/io/StringWriter.html


----------



## Leroy42 (7. Aug 2006)

foobar hat gesagt.:
			
		

> Es gibt auch einen StringWriter: http://java.sun.com/j2se/1.3/docs/api/java/io/StringWriter.html



Uuppss!   :shock: 

Den meinte ich ja auch...


----------



## cybermat (8. Aug 2006)

Ja genau, mit einem StringWriter erreicht ich genau was ich brauche. Vielen dank für die Hinweise.

Mat


----------

