utilizando javax.xml.transform.Transformer

No entiendo lo que le sucede a la StreamResultinstancia. Veo que el Transformerobjeto recibe sourcey streamResult:

    transformer.transform(source, streamResult);

esto se transforma sourceen streamResult? Parece extraño que esta operación no haya devuelto nada , pero streamResultahora tiene, por falta de una mejor palabra, datos. ¿Son xmldatos?

package helloWorldSaxon;

import java.io.IOException;
import java.io.StringWriter;
import java.util.Properties;
import java.util.logging.Logger;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;

public class App {

    private static final Logger LOG = Logger.getLogger(App.class.getName());
    private final Properties properties = new Properties();

    public static void main(String[] args) throws TransformerException, TransformerConfigurationException, IOException, SAXException {
        LOG.fine("starting..");
        new App().identyTransformOnURL();
    }

    private void identyTransformOnURL() throws TransformerConfigurationException, TransformerException, IOException, SAXException {
        properties.loadFromXML(App.class.getResourceAsStream("/saxon.xml"));
        String url = properties.getProperty("url");

        StringWriter writer = new StringWriter();
        StreamResult streamResult = new StreamResult(writer);

        TransformerFactory factory = TransformerFactory.newInstance();
        XMLReader xmlReader = XMLReaderFactory.createXMLReader("org.ccil.cowan.tagsoup.Parser");
        Source source = new SAXSource(xmlReader, new InputSource(url));

        Transformer transformer = factory.newTransformer();
        transformer.transform(source, streamResult);

        String stringResult = writer.toString();
        LOG.info(stringResult);
    }

}

No entiendo el JavaDoc en este método:

Transform the XML Source to a Result. 

¿No sería más intuitivo devolver un resultado?

Respuesta 1

Estoy desarrollando trabajo por lotes en java-ee-7 en la parte superior del servidor de libertad. utilizando la API REST para iniciar el trabajo por lotes. El problema aquí es cuando intenté iniciar el trabajo por lotes para el mismo parámetro de entrada, nuevo ...

Este problema es intermitente, ocurre cada pocas horas en un proceso que se ejecuta cada 30 segundos y realiza la siguiente comunicación de red: hay un servidor en una máquina remota escuchando ...

Estoy usando mi clase reportService para generar el objeto JasperPrint que contiene mi informe, luego lo envío a un Servlet y genera el PDF. El problema es que este servlet no está abriendo el ...

Estoy tratando de conectarme a una base de datos sqlite desde Java. Estoy programando en Windows. Descargué el controlador sqlite y configuré el classpath en las variables de entorno de Windows. Yo tengo un ...