diff --git a/pom.xml b/pom.xml index 3b0d46312092a0621153479bfad78be3bff6caf8..ed5c7234ccb7a5d3a25d9a8b7dddef2848c8f330 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ es.uvigo.esei.dai xml - 1.0.0 + 1.0.1 Ejemplos de DAI - APIs XML 2014 diff --git a/src/main/java/es/uvigo/esei/dai/xml/dom/DOMParsing.java b/src/main/java/es/uvigo/esei/dai/xml/dom/DOMParsing.java index 1e3148500275b3e777bbe77353a82562067c4ea3..dc6d5ba937b3e5b1c797e79878a81417076a929c 100644 --- a/src/main/java/es/uvigo/esei/dai/xml/dom/DOMParsing.java +++ b/src/main/java/es/uvigo/esei/dai/xml/dom/DOMParsing.java @@ -102,7 +102,7 @@ public class DOMParsing { return builder.parse(new File(documentPath)); } - public static String toXML(Document document) throws TransformerException { + public static String toXML(Document document) throws TransformerException, IOException { // Creación y configuración del transformador. En este caso, se activa // la indentación del XML final TransformerFactory factory = TransformerFactory.newInstance(); @@ -112,10 +112,10 @@ public class DOMParsing { transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // El resultado se almacenará en una cadena de texto - final StringWriter writer = new StringWriter(); - - transformer.transform(new DOMSource(document), new StreamResult(writer)); - - return writer.toString(); + try (final StringWriter writer = new StringWriter()) { + transformer.transform(new DOMSource(document), new StreamResult(writer)); + + return writer.toString(); + } } } diff --git a/src/main/java/es/uvigo/esei/dai/xml/xpath/XSLUtils.java b/src/main/java/es/uvigo/esei/dai/xml/xpath/XSLUtils.java index 0e84e8d46d4eb6ee203c49bbbe819f3fa9540493..a7a8bb35b916023386c3aec4f17a43ce2724dde9 100644 --- a/src/main/java/es/uvigo/esei/dai/xml/xpath/XSLUtils.java +++ b/src/main/java/es/uvigo/esei/dai/xml/xpath/XSLUtils.java @@ -1,6 +1,7 @@ package es.uvigo.esei.dai.xml.xpath; import java.io.File; +import java.io.IOException; import java.io.StringWriter; import javax.xml.namespace.NamespaceContext; @@ -76,14 +77,25 @@ public class XSLUtils { transformer.transform(xmlSource, result); } - public static String transformWithXSLT(File xml, File xslt) throws TransformerException { + public static String transformWithXSLT(File xml, File xslt) throws TransformerException, IOException { final TransformerFactory tFactory = TransformerFactory.newInstance(); final Transformer transformer = tFactory.newTransformer(new StreamSource(xslt)); - final StringWriter writer = new StringWriter(); + try (final StringWriter writer = new StringWriter()) { + transformer.transform(new StreamSource(xml), new StreamResult(writer)); - transformer.transform(new StreamSource(xml), new StreamResult(writer)); + return writer.toString(); + } + } + + public static String transformToString(File xml) throws TransformerException, IOException { + final TransformerFactory tFactory = TransformerFactory.newInstance(); + final Transformer transformer = tFactory.newTransformer(); + + try (final StringWriter writer = new StringWriter()) { + transformer.transform(new StreamSource(xml), new StreamResult(writer)); - return writer.toString(); + return writer.toString(); + } } }