Java XML Child Get by Name getChildElement(Element root, String name, boolean mandatory)

Here you can find the source of getChildElement(Element root, String name, boolean mandatory)

Description

getChildElement purpose.

License

Open Source License

Parameter

Parameter Description
root The root element to look for children in.
name The name of the child element to look for.
mandatory true when an exception should be thrown if the child element does not exist.

Exception

Parameter Description
Exception When a child element is required and notfound.

Return

The child element found, null if not found.

Declaration

public static Element getChildElement(Element root, String name,
        boolean mandatory) throws Exception 

Method Source Code

//package com.java2s;
/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
 * (c) 2001 - 2013 OpenPlans//from  ww  w . j  a v a 2  s .  c o  m
 * This code is licensed under the GPL 2.0 license, available at the root
 * application directory.
 */

import org.w3c.dom.Element;
import org.w3c.dom.Node;

public class Main {
    /**
     * getChildElement purpose.
     *
     * <p>
     * Used to help with XML manipulations. Returns the first child element of
     * the specified name.  An exception occurs when the node is required and
     * not found.
     * </p>
     *
     * @param root The root element to look for children in.
     * @param name The name of the child element to look for.
     * @param mandatory true when an exception should be thrown if the child
     *        element does not exist.
     *
     * @return The child element found, null if not found.
     *
     * @throws Exception When a child element is required and not
     *         found.
     */
    public static Element getChildElement(Element root, String name,
            boolean mandatory) throws Exception {
        Node child = root.getFirstChild();

        while (child != null) {
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                if (name.equals(child.getNodeName())) {
                    return (Element) child;
                }
            }

            child = child.getNextSibling();
        }

        if (mandatory && (child == null)) {
            throw new Exception(root.getNodeName()
                    + " does not contains a child element named " + name);
        }

        return null;
    }

    /**
     * getChildElement purpose.
     *
     * <p>
     * Used to help with XML manipulations. Returns the first child element of
     * the specified name.
     * </p>
     *
     * @param root The root element to look for children in.
     * @param name The name of the child element to look for.
     *
     * @return The child element found, null if not found.
     *
     * @see #getChildElement(Element,String,boolean)
     */
    public static Element getChildElement(Element root, String name) {
        try {
            return getChildElement(root, name, false);
        } catch (Exception e) {
            //will never be here.
            return null;
        }
    }
}

Related

  1. getChildElement(Element parent, String tagName)
  2. getChildElement(Element parentElement, String childElementName)
  3. getChildElement(Element parentElement, String name)
  4. getChildElement(Element parentElement, String tagName)
  5. getChildElement(Element root, String name)
  6. getChildElement(final Element element, final String namespace, final String tagName)
  7. getChildElement(final Element parent, final String childName)
  8. getChildElement(final Element parent, final String ns, final String localName)
  9. getChildElement(final Node parent, final String name)