Java tutorial
//package com.java2s; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { private static final Pattern encgt = Pattern.compile(">"); private static final Pattern enclt = Pattern.compile("<"); private static final Pattern encQuot = Pattern.compile("""); private static final Pattern encAmp = Pattern.compile("&"); /** * Helper function for quickly retrieving a String value of a given * XML element. * @param ele The document element from which to pull the String value. * @param tagName The name of the node. * @return The String value of the given node in the element passed in. */ public static String getTextValue(Element ele, String tagName) { String textVal = null; NodeList nl = ele.getElementsByTagName(tagName); if (nl != null && nl.getLength() > 0) { Element el = (Element) nl.item(0); if (el.getFirstChild() != null) { textVal = el.getFirstChild().getNodeValue(); } else { textVal = ""; } } return decode(textVal); } /** * Helper function for decode XML entities. * * @param str The XML-encoded String to decode. * @return An XML-decoded String. */ public static String decode(String str) { if (str == null) { return null; } Matcher gtmatcher = encgt.matcher(str); if (gtmatcher.matches()) { str = gtmatcher.replaceAll(">"); } Matcher ltmatcher = enclt.matcher(str); if (ltmatcher.matches()) { str = ltmatcher.replaceAll("<"); } Matcher quotMatcher = encQuot.matcher(str); if (quotMatcher.matches()) { str = quotMatcher.replaceAll("\""); } Matcher ampMatcher = encAmp.matcher(str); if (ampMatcher.matches()) { str = ampMatcher.replaceAll("&"); } return str; } }