Konwertowanie xml za pomocą xsl

0

Cześć,

Znalazłem w internetach taki kawałek kodu:

        try {

            TransformerFactory tFactory = TransformerFactory.newInstance();

            Transformer transformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource("howto.xsl"));

            transformer.transform(new javax.xml.transform.stream.StreamSource("howto.xml"), new javax.xml.transform.stream.StreamResult(new FileOutputStream("howto.html")));
        } catch (Exception e) {
            e.printStackTrace();
        }

Natomiast chciałbym to przerobić tak, żeby brać od razu z bazy stringa (zawartość xml) i z tego stringa zawierającego xml stworzyć stringa html, którego mógłbym wrzucić w JSF/Primeface.

Da się to zrobić tak, żeby nie operować/tworzyć plików. Używać tylko jednego pliku xsl np. w resource'ach?

0

Ty chcesz tutaj

transformer.transform(new javax.xml.transform.stream.StreamSource("howto.xml"), new javax.xml.transform.stream.StreamResult(new FileOutputStream("howto.html")));

zrobić tak:

transformer.transform("STRING Z XMLEM??", new javax.xml.transform.stream.StreamResult(new FileOutputStream("howto.html")));

???
ale jeżeli tak, to patrząc w dokómentacje, możesz tego stringa z bazy wrzucić jako Stream

InputStream streamFromString = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

I z niego zrobić transform

transformer.transform(new javax.xml.transform.stream.StreamSource(streamFromString ), new javax.xml.transform.stream.StreamResult(new FileOutputStream("howto.html")));

http://docs.oracle.com/javase[...]#StreamSource(java.io.Reader)

http://docs.oracle.com/javase[...]/api/java/io/InputStream.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0