Java tutorial
//package com.java2s; import org.w3c.dom.CharacterData; import org.w3c.dom.Comment; import org.w3c.dom.Element; import org.w3c.dom.EntityReference; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { /** * Extract the text value from the given DOM element, ignoring XML comments. <p>Appends all CharacterData nodes and * EntityReference nodes into a single String value, excluding Comment nodes. * * @see CharacterData * @see EntityReference * @see Comment */ public static String getTextValue(Element valueEle) { if (valueEle == null) throw new IllegalArgumentException("Element must not be null"); StringBuilder sb = new StringBuilder(); NodeList nl = valueEle.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node item = nl.item(i); if ((item instanceof CharacterData && !(item instanceof Comment)) || item instanceof EntityReference) { sb.append(item.getNodeValue()); } else if (item instanceof Element) { sb.append(getTextValue((Element) item)); } } return sb.toString(); } public static String getNodeValue(Node node) { if (node instanceof Comment) { return null; } if (node instanceof CharacterData) { return ((CharacterData) node).getData(); } if (node instanceof EntityReference) { return node.getNodeValue(); } if (node instanceof Element) { return getTextValue((Element) node); } return node.getNodeValue(); } }