Ergebnis einer XSLT-Tansformation als Rückgabewert erhalten

Status
Nicht offen für weitere Antworten.

cybermat

Neues Mitglied
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:

Code:
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
 
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
 
Ja genau, mit einem StringWriter erreicht ich genau was ich brauche. Vielen dank für die Hinweise.

Mat
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben