Here you can find the source of getChildElements(Node node)
public static List<Element> getChildElements(Node node)
//package com.java2s; /*// w w w . j av a 2 s. c o m * Copyright (C) 2009 Bradley Austin Davis. * * This file is part of serket. * * serket is free software: you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * serket is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * serket. If not, see <http://www.gnu.org/licenses/>. */ import java.util.ArrayList; import java.util.List; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static List<Element> getChildElements(Node node) { return getNodesOfType(node.getChildNodes(), Node.ELEMENT_NODE); } public static List<Element> getChildElements(Node node, String name) { List<Element> original = getNodesOfType(node.getChildNodes(), Node.ELEMENT_NODE); List<Element> retVal = new ArrayList<Element>(original.size()); for (Element e : original) { if (e.getNodeName().equals(name)) { retVal.add(e); } } return retVal; } @SuppressWarnings("unchecked") public static <T extends Node> List<T> getNodesOfType(NodeList list, short type) { List<T> retVal = new ArrayList<T>(list.getLength()); for (int i = 0; i < list.getLength(); ++i) { Node n = list.item(i); if (n.getNodeType() == type) { retVal.add((T) n); } } return retVal; } @SuppressWarnings("unchecked") public static <T extends Node> List<T> getNodesOfType( NamedNodeMap list, short type) { List<T> retVal = new ArrayList<T>(list.getLength()); for (int i = 0; i < list.getLength(); ++i) { Node n = list.item(i); if (n.getNodeType() == type) { retVal.add((T) n); } } return retVal; } public static <T extends Node> List<T> getNodesOfType(Node parent, short type) { return getNodesOfType(parent.getChildNodes(), type); } }