Java tutorial
//package com.java2s; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static String getTextNodeValueByChildTagName(Element ele, String tagname) { String s = ""; try { NodeList nodes = ele.getElementsByTagName(tagname); if (nodes.getLength() > 0) { Node node = getTextNode(nodes.item(0)); if (node != null) { s = node.getNodeValue(); } } } catch (Exception e) { s = ""; } return s; } 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; } }