Hola Mario.
¿Quieres convertir la entrada en salida directamente sin hacer ninguna transformación?
La forma en la que siempre lo he hecho es cargar primero el documento de entrada:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(inputStream);
Después de cargar el documento, puedes analizar su contenido con la API DOM.
Finalmente, creas el documento transformado y lo devuelves a través de outputstream:
Document resultDoc = builder.newDocument();
...
...
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(resultDoc);
StreamResult result = new StreamResult(outputStream);
transformer.transform(source, result);
Si quieres convertir la entrada en salida puedes usar:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(inputStream);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(outputStream);
transformer.transform(source, result);
En este punto, creo que tendrás la entrada convertida en la salida.
Saludos,
Gari.