Java examples for XML:XML String
Given a string, replace all the instances of XML entities with their corresponding XML special characters.
//package com.java2s; public class Main { public static void main(String[] argv) { String string = "java2s.com"; System.out.println(unescapeForXML(string)); }/*from w w w . j a v a 2s .c o m*/ /** Given a string, replace all the instances of XML entities * with their corresponding XML special characters. This is necessary to * allow arbitrary strings to be encoded within XML. * * <p>In this method, we make the following translations: * <pre> * &amp; becomes & * &quot; becomes " * &lt; becomes < * &gt; becomes > * &#10; becomes newline * &#13; becomes carriage return * </pre> * @see #escapeForXML(String) * * @param string The string to escape. * @return A new string with special characters replaced. */ public static String unescapeForXML(String string) { string = substitute(string, "&", "&"); string = substitute(string, """, "\""); string = substitute(string, "<", "<"); string = substitute(string, ">", ">"); string = substitute(string, " ", "\n"); string = substitute(string, " ", "\r"); return string; } /** Replace all occurrences of <i>pattern</i> in the specified * string with <i>replacement</i>. Note that the pattern is NOT * a regular expression, and that relative to the * String.replaceAll() method in jdk1.4, this method is extremely * slow. This method does not work well with back slashes. * @param string The string to edit. * @param pattern The string to replace. * @param replacement The string to replace it with. * @return A new string with the specified replacements. */ public static String substitute(String string, String pattern, String replacement) { int start = string.indexOf(pattern); while (start != -1) { StringBuffer buffer = new StringBuffer(string); buffer.delete(start, start + pattern.length()); buffer.insert(start, replacement); string = new String(buffer); start = string.indexOf(pattern, start + replacement.length()); } return string; } }