Java XML Child Element Text getChildElementText(Element elm, String name, String defaultValue)

Here you can find the source of getChildElementText(Element elm, String name, String defaultValue)

Description

get Child Element Text

License

EUPL

Declaration

public static String getChildElementText(Element elm, String name, String defaultValue) 

Method Source Code

//package com.java2s;
/*/*w  ww . j  a  v a 2 s .c  om*/
 * Copyright 2004-2014 SmartBear Software
 *
 * Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent
 * versions of the EUPL (the "Licence");
 * You may not use this work except in compliance with the Licence.
 * You may obtain a copy of the Licence at:
 *
 * http://ec.europa.eu/idabc/eupl
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the Licence is
 * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the Licence for the specific language governing permissions and limitations
 * under the Licence.
*/

import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Element;

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

public class Main {
    public static String getChildElementText(Element elm, String name) {
        Element child = getFirstChildElement(elm, name);
        return child == null ? null : getElementText(child);
    }

    public static String getChildElementText(Element elm, String name, String defaultValue) {
        String result = getChildElementText(elm, name);
        return result == null ? defaultValue : result;
    }

    public static Element getFirstChildElement(Element elm) {
        return getFirstChildElement(elm, null);
    }

    public static Element getFirstChildElement(Element elm, String name) {
        if (elm == null) {
            return null;
        }

        NodeList nl = elm.getChildNodes();
        for (int c = 0; c < nl.getLength(); c++) {
            Node node = nl.item(c);
            if (node.getNodeType() == Node.ELEMENT_NODE && (name == null || node.getNodeName().equals(name))) {
                return (Element) node;
            }
        }

        return null;
    }

    static public String getElementText(Element elm) {
        Node node = elm.getFirstChild();
        if (node != null && node.getNodeType() == Node.TEXT_NODE) {
            return node.getNodeValue();
        }

        return null;
    }

    static public String getNodeValue(Node node) {
        if (node == null) {
            return null;
        }

        if (node.getNodeType() == Node.ELEMENT_NODE) {
            return getElementText((Element) node);
        } else if (node.getNodeType() == Node.DOCUMENT_FRAGMENT_NODE) {
            return getFragmentText((DocumentFragment) node);
        } else {
            return node.getNodeValue();
        }
    }

    static public String getFragmentText(DocumentFragment elm) {
        Node node = elm.getFirstChild();
        if (node != null && node.getNodeType() == Node.TEXT_NODE) {
            return node.getNodeValue();
        }

        return null;
    }
}

Related

  1. getChildElementsTextSet(Element parentElement, String tagName)
  2. getChildElementText(Element element, String name)
  3. GetChildElementText(Element element, String name, String defaultValue)
  4. getChildElementText(Element elm, String name, String defaultValue)
  5. getChildElementText(Element parentElement, String tagName)
  6. getChildElementText(final Element elParent, final String childTag)
  7. getChildElementText(final Element parent, final String childName, final String defaultText)
  8. getChildElementText(Node node, String childName)