Java XML Element Children getSubelementString(final Element element, final String name, final String default_value)

Here you can find the source of getSubelementString(final Element element, final String name, final String default_value)

Description

Locate a sub-element tagged 'name', return its value.

License

Open Source License

Parameter

Parameter Description
element Element where to start looking. May be null.
name Name of sub-element to locate.
default_value Default value if not found

Return

Returns string that was found or default_value.

Declaration

final public static String getSubelementString(final Element element, final String name,
        final String default_value) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright (c) 2012 Oak Ridge National Laboratory.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 ******************************************************************************/

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

public class Main {
    /** Locate a sub-element tagged 'name', return its value.
     *//from   w  w  w  . j  a  va 2 s  .c o  m
     *  Will only go one level down, not search the whole tree.
     *
     *  @param element Element where to start looking. May be null.
     *  @param name Name of sub-element to locate.
     *  @param default_value Default value if not found
     *
     *  @return Returns string that was found or default_value.
     */
    final public static String getSubelementString(final Element element, final String name,
            final String default_value) {
        if (element == null)
            return default_value;
        Node n = element.getFirstChild();
        n = findFirstElementNode(n, name);
        return getString(n, default_value);
    }

    /** Look for Element node if given name.
     *  <p>
     *  Checks the node and its siblings.
     *  Does not descent down the 'child' links.
     *  @param node Node where to start.
     *  @param name Name of the nodes to look for.
     *  @return Returns node or the next matching sibling or null.
     */
    final public static Element findFirstElementNode(Node node, final String name) {
        while (node != null) {
            if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals(name))
                return (Element) node;
            node = node.getNextSibling();
        }
        return null;
    }

    final public static String getString(final Node node, final String default_value) {
        if (node != null) {
            Node text_node = node.getFirstChild();
            if (text_node == null)
                return default_value;
            return text_node.getNodeValue();
        }
        return default_value;
    }
}

Related

  1. getSubelementBoolean(final Element element, final String element_name, final boolean default_value)
  2. getSubelementDouble(final Element element, final String element_name)
  3. getSubelementDouble(final Element element, final String name, final double default_value)
  4. getSubelementString(final Element element, final String name)
  5. getSubelementString(final Element element, final String name)
  6. getSubelementStrings(final Element element, final String name)
  7. getSubelementText(Element element, String subelementName)
  8. getSubNodeText(Element modsroot, String nodename, String subnodename)
  9. getSubNodeValue(Element element, String name)