Java XML Element Get Value getTextFromFirstSubEleByName(Element element, String tagName)

Here you can find the source of getTextFromFirstSubEleByName(Element element, String tagName)

Description

get Text From First Sub Ele By Name

License

BSD License

Declaration

public static String getTextFromFirstSubEleByName(Element element, String tagName) 

Method Source Code


//package com.java2s;
/*// w  w  w .  ja v  a 2 s .  co m
 * Copyright (c) 2008-2009,
 * 
 * Digital Enterprise Research Institute, National University of Ireland, 
 * Galway, Ireland
 * http://www.deri.org/
 * http://pipes.deri.org/
 *
 * Semantic Web Pipes is distributed under New BSD License.
 * 
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions are met:
 * 
 *  * Redistributions of source code must retain the above copyright notice, 
 *    this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above copyright 
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the distribution and 
 *    reference to the source code.
 *  * The name of Digital Enterprise Research Institute, 
 *    National University of Ireland, Galway, Ireland; 
 *    may not be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 * POSSIBILITY OF SUCH DAMAGE.
 */

import java.util.ArrayList;
import java.util.List;

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

public class Main {
    public static String getTextFromFirstSubEleByName(Element element, String tagName) {
        List<Element> childEle = getSubElementByName(element, tagName);
        for (int i = 0; i < childEle.size(); i++) {
            String tmp = getTextData(childEle.get(i));
            if (tmp != null)
                return tmp;
        }
        return null;
    }

    public static List<Element> getSubElementByName(Element element, String tagName) {
        ArrayList<Element> result = new ArrayList<Element>();
        NodeList childNodes = element.getChildNodes();
        for (int i = 0; i < childNodes.getLength(); i++) {
            switch (childNodes.item(i).getNodeType()) {
            case Node.ELEMENT_NODE:
                if (((Element) childNodes.item(i)).getTagName().equalsIgnoreCase(tagName))
                    result.add((Element) childNodes.item(i));
                break;
            }
        }
        return result;
    }

    public static String getTextData(Element element) {
        NodeList childNodes = element.getChildNodes();
        for (int i = 0; i < childNodes.getLength(); i++) {
            if ((childNodes.item(i).getNodeType() == Node.TEXT_NODE)
                    || (childNodes.item(i).getNodeType() == Node.CDATA_SECTION_NODE)) {
                if (childNodes.item(i) != null) {
                    String tmpStr = ((Text) childNodes.item(i)).getWholeText().trim();
                    if (tmpStr.length() > 0) {
                        return tmpStr;
                    }
                }
            }
        }
        return null;
    }
}

Related

  1. getTextContentOfElement(Element elem, String tagName, boolean required)
  2. getTextContentOfElements(Element elem, String tagName)
  3. getTextContents(Element e)
  4. getTextData(Element element)
  5. getTextElementValue(Element ele)
  6. getTextFromTag(Element current, String tag)
  7. getTextList(Element elem, String name)
  8. getTextOfElement(Element e)
  9. getTexts(Element root, String elementName)