Boa tarde pessoal,
estou tendo dificuldades para converter alguns dados que tenho para um arquivo .xml em memória.
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import br.com.ArquivoRetorno;
public class XmlParser {
public static void converter(ArquivoRetorno arquivo) throws Exception {
JAXBContext contextObj = JAXBContext.newInstance(ArquivoRetorno.class);
Marshaller marshallerObj = contextObj.createMarshaller();
marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshallerObj.marshal(arquivo, new FileOutputStream("C:\\Arquivo.xml"));
}
}
O trecho de código acima, cria um arquivo xml com o conteúdo do objeto do tipo ArquivoRetorno, no caminho especificado.
O problema é que não devo criar o arquivo em disco, eu deveria criar o arquivo em memória apenas, e realizar a persistência dele na base de dados, pois é um arquivo que é gerado a partir de um processamento do sistema.
(Esse arquivo de retorno, será disponibilizado ao usuário para download após o processamento.)
Existe alguma forma de gerar esse xml em um arquivo na memória, podendo o atributo ser UploadedFile ou InputStream?
Desde já agradeço, abraços.