Java XML Child Get getChildElements(Element parent)

Here you can find the source of getChildElements(Element parent)

Description

Convenience method for getting all child elements.

License

Open Source License

Declaration

public static List<Element> getChildElements(Element parent) 

Method Source Code

//package com.java2s;
//License from project: GNU General Public License 

import java.util.ArrayList;
import java.util.List;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
    /**/*w  w w  . j  a  va2 s  .  co  m*/
     * Convenience method for getting all child elements.
     * 
     * @see #getChildElements(Element, String)
     */
    public static List<Element> getChildElements(Element parent) {
        return getChildElements(parent, null);
    }

    /**
     * Gets the child elements of a parent element. Unlike DOM's getElementsByTagName, this does no recursion,
     * uses local name (namespace free) instead of tag name, result is a proper Java data structure and result
     * needs no casting. In other words, this method does not suck unlike DOM.
     * 
     * @param parent the XML parent element
     * @param name name of the child elements, if null then all are returned
     */
    public static List<Element> getChildElements(Element parent, String name) {
        List<Element> childElements = new ArrayList<Element>();
        NodeList childNodes = parent.getChildNodes();

        for (int i = 0; i < childNodes.getLength(); i++) {
            // get elements
            if (childNodes.item(i).getNodeType() == Node.ELEMENT_NODE) {

                // match element name
                Element childElement = (Element) childNodes.item(i);
                if (name == null || childElement.getLocalName().equals(name)) {
                    childElements.add(childElement);
                }
            }
        }

        return childElements;
    }
}

Related

  1. getChildElements(Element parent)
  2. getChildElements(Element parent)
  3. getChildElements(Element parent)
  4. getChildElements(Element parent)
  5. getChildElements(Element parent)
  6. getChildElements(Element parent)
  7. getChildElements(Element parentElement)
  8. getChildElements(Element parentElement)
  9. getChildElements(Element parentElement, String childElementTagName)