Java XML Child Node Get getChildNodes(Node parent, String childName)

Here you can find the source of getChildNodes(Node parent, String childName)

Description

get Child Nodes

License

Apache License

Declaration

public static List<Element> getChildNodes(Node parent, String childName) 

Method Source Code

//package com.java2s;
/**/*from   w ww . j ava2  s. c  o  m*/
 * Copyright 2004-2009 Tobias Gierke <tobias.gierke@code-sourcery.de>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the 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 {
    public static List<Element> getChildNodes(Node parent, String childName) {

        final List<Element> result = new ArrayList<Element>();

        final NodeList nodes = parent.getChildNodes();

        final int len = nodes.getLength();

        for (int i = 0; i < len; i++) {
            final Node n = nodes.item(i);
            if (!isElementNode(n)) {
                continue;
            }
            if (n.getNodeName().equals(childName)) {
                result.add((Element) n);
            }
        }
        return result;
    }

    /**
     * Check whether a given XML <code>Node</code> is
     * an element node.
     * 
     * Sun should've implemented <code>Node.hasType(int)</code>....
     * 
     * @param n
     * @return
     */
    public static final boolean isElementNode(Node n) {
        return n != null && n.getNodeType() == Node.ELEMENT_NODE;
    }
}

Related

  1. getChildNodes(Node node)
  2. getChildNodes(Node node)
  3. getChildNodes(Node node)
  4. getChildNodes(Node node, short type)
  5. getChildNodes(Node node, String name)
  6. getChildNodes(Node parentNode)
  7. getChildNodes(Node parentNode, String childName)
  8. getChildNodes(Node parentNode, String childNodeName)
  9. getChildNodes(Node rootNode, String childName)