Java tutorial
import java.util.ArrayList; import java.util.List; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; public class Utils { /** * <p>Returns an array of text values of a child element. Returns * <code>null</code> if there is no child element found.</p> * * @param parent parent element * @param name name of the child element * @return text value */ public static String[] getChildElementTextArr(Element parent, String name) { // Get all the elements List children = getChildElementsByName(parent, name); String str[] = new String[children.size()]; for (int i = 0; i < children.size(); i++) { Node child = (Node) children.get(i); StringBuffer buf = new StringBuffer(); NodeList nodes = child.getChildNodes(); for (int j = 0; j < nodes.getLength(); j++) { Node node = nodes.item(j); if (node.getNodeType() == Node.TEXT_NODE || node.getNodeType() == Node.CDATA_SECTION_NODE) { Text text = (Text) node; buf.append(text.getData().trim()); } } str[i] = buf.toString(); } return str; } /** * <p>Returns a list of child elements with the given * name. Returns an empty list if there are no such child * elements.</p> * * @param parent parent element * @param name name of the child element * @return child elements */ public static List getChildElementsByName(Element parent, String name) { List elements = new ArrayList(); NodeList children = parent.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node node = children.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) node; if (element.getTagName().equals(name)) { elements.add(element); } } } return elements; } }