Java XML Child Element Text getChildTextNodeValues(Node theNode)

Here you can find the source of getChildTextNodeValues(Node theNode)

Description

get Child Text Node Values

License

Apache License

Declaration

public static ArrayList getChildTextNodeValues(Node theNode) 

Method Source Code

//package com.java2s;
/**//w w  w  .j  ava  2s  .  c o  m
 * Copyright 2010 
 *
 * 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 org.w3c.dom.Element;

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

public class Main {

    public static ArrayList getChildTextNodeValues(NodeList theNodeList) {
        ArrayList arrayList = new ArrayList();

        for (int i = 0; i < theNodeList.getLength(); i++) {
            Node node = getTextNode(theNodeList.item(i));
            if (node != null) {
                String s = node.getNodeValue();
                arrayList.add(s);
            }
        }
        return arrayList;
    }

    public static ArrayList getChildTextNodeValues(Node theNode) {
        ArrayList arrayList = new ArrayList();
        if (theNode.getNodeType() != Node.TEXT_NODE) {
            Element theNodeElement = (Element) theNode;
            NodeList theNodeList = theNodeElement.getChildNodes();
            for (int i = 0; i < theNodeList.getLength(); i++) {
                Node node = getTextNode(theNodeList.item(0));
                if (node != null) {
                    String s = node.getNodeValue();
                    arrayList.add(s);
                }
            }
        }
        return arrayList;
    }

    public static Node getTextNode(Node node) {
        Node textnode = null;
        NodeList nodes = node.getChildNodes();
        int len = nodes.getLength();
        if (len > 0) {
            for (int i = 0; i < len; i++) {
                if (nodes.item(i).getNodeType() == Node.TEXT_NODE) {
                    textnode = nodes.item(i);
                    break;
                }
            }
        }
        return textnode;
    }

    public String getNodeType(Node node) {
        String type;

        switch (node.getNodeType()) {
        case Node.ELEMENT_NODE: {
            type = "Element";
            break;
        }
        case Node.ATTRIBUTE_NODE: {
            type = "Attribute";
            break;
        }
        case Node.TEXT_NODE: {
            type = "Text";
            break;
        }
        case Node.CDATA_SECTION_NODE: {
            type = "CData section";
            break;
        }
        case Node.ENTITY_REFERENCE_NODE: {
            type = "Entity reference";
            break;
        }
        case Node.ENTITY_NODE: {
            type = "Entity";
            break;
        }
        case Node.PROCESSING_INSTRUCTION_NODE: {
            type = "Processing instruction";
            break;
        }
        case Node.COMMENT_NODE: {
            type = "Comment";
            break;
        }
        case Node.DOCUMENT_NODE: {
            type = "Document";
            break;
        }
        case Node.DOCUMENT_TYPE_NODE: {
            type = "Document type";
            break;
        }
        case Node.DOCUMENT_FRAGMENT_NODE: {
            type = "Document fragment";
            break;
        }
        case Node.NOTATION_NODE: {
            type = "Notation";
            break;
        }
        default: {
            type = "???";
            break;
        }
        }
        return type;
    }
}

Related

  1. getChildTextContent(Element element, String childTagName)
  2. getChildTextList(Element elem, String childTagName)
  3. getChildTextNode(Element el)
  4. getChildTextNodes(Element parent)
  5. getChildTextNodeValue(Node node)