Java XML First Child Element getFirstChildElementOfName(@Nonnull final Node aStartNode, @Nullable final String sName)

Here you can find the source of getFirstChildElementOfName(@Nonnull final Node aStartNode, @Nullable final String sName)

Description

Search all child nodes of the given for the first element that has the specified tag name.

License

Apache License

Parameter

Parameter Description
aStartNode The parent element to be searched. May not be <code>null</code>.
sName The tag name to search.

Return

null if the parent element has no such child element.

Declaration

@Nullable
public static Element getFirstChildElementOfName(@Nonnull final Node aStartNode, @Nullable final String sName) 

Method Source Code

//package com.java2s;
/**// w  w  w.  ja v  a 2  s.  c om
 * Copyright (C) 2014-2015 Philip Helger (www.helger.com)
 * philip[at]helger[dot]com
 *
 * 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 javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import org.w3c.dom.Element;

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

public class Main {
    /**
     * Search all child nodes of the given for the first element that has the
     * specified tag name.
     *
     * @param aStartNode
     *        The parent element to be searched. May not be <code>null</code>.
     * @param sName
     *        The tag name to search.
     * @return <code>null</code> if the parent element has no such child element.
     */
    @Nullable
    public static Element getFirstChildElementOfName(@Nonnull final Node aStartNode, @Nullable final String sName) {
        final NodeList aNodeList = aStartNode.getChildNodes();
        final int nLen = aNodeList.getLength();
        for (int i = 0; i < nLen; ++i) {
            final Node aNode = aNodeList.item(i);
            if (aNode.getNodeType() == Node.ELEMENT_NODE) {
                final Element aElement = (Element) aNode;
                if (aElement.getTagName().equals(sName))
                    return aElement;
            }
        }
        return null;
    }

    @Nonnegative
    public static int getLength(@Nullable final NodeList aNL) {
        return aNL == null ? 0 : aNL.getLength();
    }
}

Related

  1. getFirstChildElementInternal(final Node node, final boolean useNamespaces, final String namespaceURI, final String localName)
  2. getFirstChildElementNode(Node node)
  3. getFirstChildElementNS(Element elm, String tns, String localName)
  4. getFirstChildElementNS(Node parent, String uri)
  5. getFirstChildElementNS(Node parent, String[][] elemNames)
  6. getFirstChildElementsByTagName( Node contextNode, String elementName)
  7. getFirstChildElementsByTagName(Node contextNode, String elementName)
  8. getFirstChildElementWithName(Element elem, String name)
  9. getFirstChildElmtByTag(String aTagName)