Java XML Unescape unescapeFromXML(String string)

Here you can find the source of unescapeFromXML(String string)

Description

Unescapes the String by converting XML escape sequences back into normal characters.

License

LGPL

Parameter

Parameter Description
string the string to unescape.

Return

the string with appropriate characters unescaped.

Declaration

public static final String unescapeFromXML(String string) 

Method Source Code

//package com.java2s;
/**/*from w w w .  j  av  a  2  s .co m*/
 * Converts a line of text into an array of lower case words using a
 * BreakIterator.wordInstance(). <p>
 *
 * This method is under the Jive Open Source Software License and was
 * written by Mark Imbriaco.
 *
 * @param text a String of text to convert into an array of words
 * @return text broken up into an array of words.
 */

public class Main {
    /**
     * Unescapes the String by converting XML escape sequences back into normal
     * characters.
     *
     * @param string the string to unescape.
     * @return the string with appropriate characters unescaped.
     */
    public static final String unescapeFromXML(String string) {
        string = replace(string, "&lt;", "<");
        string = replace(string, "&gt;", ">");
        string = replace(string, "&quot;", "\"");
        return replace(string, "&amp;", "&");
    }

    /**
     * Replaces all instances of oldString with newString in line.
     *
     * @param line the String to search to perform replacements on
     * @param oldString the String that should be replaced by newString
     * @param newString the String that will replace all instances of oldString
     *
     * @return a String will all instances of oldString replaced by newString
     */
    public static final String replace(String line, String oldString, String newString) {
        if (line == null) {
            return null;
        }
        int i = 0;
        if ((i = line.indexOf(oldString, i)) >= 0) {
            char[] line2 = line.toCharArray();
            char[] newString2 = newString.toCharArray();
            int oLength = oldString.length();
            StringBuffer buf = new StringBuffer(line2.length);
            buf.append(line2, 0, i).append(newString2);
            i += oLength;
            int j = i;
            while ((i = line.indexOf(oldString, i)) > 0) {
                buf.append(line2, j, i - j).append(newString2);
                i += oLength;
                j = i;
            }
            buf.append(line2, j, line2.length - j);
            return buf.toString();
        }
        return line;
    }

    /**
     * Replaces all instances of oldString with newString in line.
     * The count Integer is updated with number of replaces.
     *
     * @param line the String to search to perform replacements on
     * @param oldString the String that should be replaced by newString
     * @param newString the String that will replace all instances of oldString
     *
     * @return a String will all instances of oldString replaced by newString
     */
    public static final String replace(String line, String oldString, String newString, int[] count) {
        if (line == null) {
            return null;
        }
        int i = 0;
        if ((i = line.indexOf(oldString, i)) >= 0) {
            int counter = 0;
            counter++;
            char[] line2 = line.toCharArray();
            char[] newString2 = newString.toCharArray();
            int oLength = oldString.length();
            StringBuffer buf = new StringBuffer(line2.length);
            buf.append(line2, 0, i).append(newString2);
            i += oLength;
            int j = i;
            while ((i = line.indexOf(oldString, i)) > 0) {
                counter++;
                buf.append(line2, j, i - j).append(newString2);
                i += oLength;
                j = i;
            }
            buf.append(line2, j, line2.length - j);
            count[0] = counter;
            return buf.toString();
        }
        return line;
    }

    public static String replace(String oristr, String[] targetstr, String[] descstr) throws Exception {
        String result = null;
        try {
            if (targetstr.length == descstr.length) {
                for (int i = 0; i < targetstr.length; i++) {
                    oristr = oristr.substring(0, oristr.indexOf(targetstr[i])) + descstr[i]
                            + oristr.substring(targetstr[i].length() + 1);
                }
                result = oristr;
            }
        } catch (Exception e) {
            throw e;
        }
        return result;
    }

    public static int indexOf(CharSequence sb, char[] buff) {
        return indexOf(sb, buff, 0);
    }

    public static int indexOf(CharSequence sb, char[] buff, int fromIndex) {
        outer: for (int i = fromIndex; i <= sb.length() - buff.length; i++) {
            for (int j = 0; j < buff.length; j++) {
                if (sb.charAt(i + j) != buff[j]) {
                    continue outer;
                }
            }
            return i;
        }
        return -1;
    }
}

Related

  1. unescapeForXML(String string)
  2. unescapeFromXml(String escapedString)
  3. unescapeFromXML(String st)
  4. unescapeFromXML(String string)
  5. unescapeFromXML(String string)
  6. unescapeFromXML(String string)
  7. unescapeXML(final String s)
  8. unescapeXml(String input)
  9. unescapeXml(String input)