Java XML Child Node Get getChildElements(Node node)

Here you can find the source of getChildElements(Node node)

Description

get Child Elements

License

Open Source License

Declaration

public static List<Element> getChildElements(Node node) 

Method Source Code

//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);
    }
}

Related

  1. getChildElements(Node element)
  2. getChildElements(Node node)
  3. getChildElements(Node node)
  4. getChildElements(Node node)
  5. getChildElements(Node node)
  6. getChildElements(Node node)
  7. getChildElements(Node node)
  8. getChildElements(Node node)
  9. getChildElements(Node node)