programacion ejemplos desde cuando convertido compila cero archivo java xml xslt

java - ejemplos - Cómo ''transformar'' un objeto String(que contiene XML) a un elemento en una página JSP existente



programacion en jsp (3)

Actualmente, tengo un objeto String que contiene elementos XML:

String carsInGarage = garage.getCars();

Ahora quiero pasar este String como fuente de entrada / secuencia (o algún tipo de fuente), pero no estoy seguro de cuál elegir y cómo implementarlo.

La mayoría de las soluciones que he analizado importan el paquete: javax.xml.transform y aceptan un archivo XML (stylerXML.xml) y se envían a un archivo HTML (outputFile.html) (Vea el código a continuación).

try { TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(new StreamSource("styler.xsl")); transformer.transform(new StreamSource("stylerXML.xml"), new StreamResult(new FileOutputStream("outputFile.html"))); } catch (Exception e) { e.printStackTrace(); }

Quiero aceptar un objeto String y salida (usando XSL) a un elemento dentro de una página JSP existente. Simplemente no sé cómo implementar esto, incluso habiendo mirado el código anterior.

¿Alguien puede por favor asesorar / ayudar? He buscado una solución alta y baja, pero no puedo sacar nada.


Esto funcionó para mí.

String str = "<my>xml</my>" StreamSource src = new StreamSource(new StringReader(str)); ByteArrayOutputStream baos = new ByteArrayOutputStream(); Result res = new StreamResult(baos); transformer.transform(src, res);


Si en algún momento desea que la fuente contenga más de una cadena, o no desea generar el elemento contenedor XML de forma manual, cree un documento DOM que contenga su fuente y páselo al transformador utilizando un DOMSource .


Use un StringReader y un StringWriter :

try { StringReader reader = new StringReader("<xml>blabla</xml>"); StringWriter writer = new StringWriter(); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer( new javax.xml.transform.stream.StreamSource("styler.xsl")); transformer.transform( new javax.xml.transform.stream.StreamSource(reader), new javax.xml.transform.stream.StreamResult(writer)); String result = writer.toString(); } catch (Exception e) { e.printStackTrace(); }