Java XML Child Get by Name getChildElementsByTagName(String name, Element parent)

Here you can find the source of getChildElementsByTagName(String name, Element parent)

Description

Return an array of direct child elements that have the given element tag name.

License

Apache License

Parameter

Parameter Description
name Element tag name to search for
parent Parent to search

Return

Array of child elements with the given name

Declaration

public static Element[] getChildElementsByTagName(String name, Element parent) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2012 Geoscience Australia//www  . j a  v a 2s . c o  m
 * 
 * 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 {
    /**
     * Return an array of direct child elements that have the given element tag
     * name.
     * 
     * @param name
     *            Element tag name to search for
     * @param parent
     *            Parent to search
     * @return Array of child elements with the given name
     */
    public static Element[] getChildElementsByTagName(String name, Element parent) {
        List<Element> elements = new ArrayList<Element>();
        if (parent != null) {
            NodeList children = parent.getChildNodes();
            if (children != null) {
                for (int i = 0; i < children.getLength(); i++) {
                    Node node = children.item(i);
                    if (node instanceof Element) {
                        Element e = (Element) node;
                        if (e.getTagName().equals(name)) {
                            elements.add(e);
                        }
                    }
                }
            }
        }
        return elements.toArray(new Element[elements.size()]);
    }
}

Related

  1. getChildElementsByTagName(Element parentNode, String tagName)
  2. getChildElementsByTagName(final Element element, final String tagName)
  3. getChildElementsByTagName(final Element parentElem, final String childName)
  4. getChildElementsByTagName(Node element, String tagName)
  5. getChildElementsByTagName(org.w3c.dom.Element xmlParent, String tagName)