diff -r 91e52083f255 -r 4ad40aaed4bb java/parameter-lister/src/info/glogalcode/parameterLister/modules/XmlModule.java --- a/java/parameter-lister/src/info/glogalcode/parameterLister/modules/XmlModule.java Sat Sep 10 23:08:58 2016 +0200 +++ b/java/parameter-lister/src/info/glogalcode/parameterLister/modules/XmlModule.java Sat Sep 10 23:22:29 2016 +0200 @@ -7,6 +7,8 @@ import java.util.List; /** + * Just a simple XML output. + * For more complex documents, use {@linkplain javax.xml.stream.XMLStreamWriter} * * @author Ing. František Kučera (frantovo.cz) */ @@ -15,12 +17,24 @@ @Override public void process(OutputStream output, List parameters) throws OutputModuleException { try (PrintWriter out = new PrintWriter(output)) { + out.println(""); for (String parameter : parameters) { - out.print("xml> "); - out.println(parameter); + out.print("\t"); + out.print(escapeXmlText(parameter)); + out.println(""); out.flush(); } + out.println(""); } } + /** + * @param s original text + * @return escaped text that can be safely concatenated between two XML tags (not safe for + * attribute + * values) + */ + private static String escapeXmlText(String s) { + return s.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">"); + } }