Java tutorial
//package com.java2s; import org.w3c.dom.*; import java.util.ArrayList; import java.util.List; public class Main { /** * Gets the value of the child element by tag name under the given parent * element. If there is more than one child element, return the value of the * first one. * * @param parent the parent element * @param tagName the tag name of the child element * @return value of the first child element, NULL if tag not exists */ public static String getElementValue(Element parent, String tagName) { Element element = getElement(parent, tagName); if (element != null) { return element.getTextContent(); } else { return null; } } /** * * @param element * @return */ public static String getElementValue(Element element) { if (element != null) { NodeList nodes = element.getChildNodes(); if (nodes != null && nodes.getLength() > 0) { for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node instanceof Text) { return ((Text) node).getData(); } } } } return null; } /** * Gets the immediately descendant element from the parent element. * * @param parent the parent element in the element tree * @param tagName the specified tag name. * @return immediately descendant element of parent element, NULL otherwise. */ public static Element getElement(Element parent, String tagName) { List<Element> children = getElements(parent, tagName); if (children.isEmpty()) { return null; } else { return children.get(0); } } /** * Gets the descendant elements list from the parent element. * * @param parent the parent element in the element tree * @param tagName the specified tag name * @return the NOT NULL descendant elements list */ public static List<Element> getElements(Element parent, String tagName) { NodeList nodes = parent.getElementsByTagName(tagName); List<Element> elements = new ArrayList<Element>(); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node instanceof Element) { elements.add((Element) node); } } return elements; } }