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 immediately 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 getChildElementValue(Element parent, String tagName) { Element element = getChildElement(parent, tagName); if (element != null) { return element.getTextContent(); } else { return null; } } /** * Gets the immediately child element from the parent element. * * @param parent the parent element in the element tree * @param tagName the specified tag name * @return immediately child element of parent element, NULL otherwise */ public static Element getChildElement(Element parent, String tagName) { List<Element> children = getChildElements(parent, tagName); if (children.isEmpty()) { return null; } else { return children.get(0); } } /** * Gets the immediately child 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 immediately child elements list */ public static List<Element> getChildElements(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 && node.getParentNode() == parent) { elements.add((Element) node); } } return elements; } /** * Gets the immediately child elements list from the parent element. * * @param parent the parent element in the element tree * @return the NOT NULL immediately child elements list */ public static List<Element> getChildElements(Element parent) { NodeList nodes = parent.getChildNodes(); List<Element> elements = new ArrayList<Element>(); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node instanceof Element && node.getParentNode() == parent) { elements.add((Element) node); } } return elements; } }