package com.floreysoft.jmte.encoder; /** * Encodes all XML special characters as described * <a href="http://stackoverflow.com/questions/1091945/where-can-i-get-a-list-of-the-xml-document-escape-characters"> * http://stackoverflow.com/questions/1091945/where-can-i-get-a-list-of-the-xml-document-escape-characters</a> * * @see http://stackoverflow.com/questions/1091945/where-can-i-get-a-list-of-the-xml-document-escape-characters * */ public class XMLEncoder implements Encoder { @Override public String encode(String string) { StringBuilder sb = new StringBuilder((int) (string.length() * 1.2)); for (int i = 0; i < string.length(); i++) { char c = string.charAt(i); switch (c) { case '&': sb.append("&"); break; case '"': sb.append("""); break; case '\'': sb.append("'"); break; case '<': sb.append("<"); break; case '>': sb.append(">"); break; default: sb.append(c); } } return sb.toString(); } }