Java tutorial
//package com.java2s; import java.util.ArrayList; import java.util.List; import org.w3c.dom.CharacterData; import org.w3c.dom.Comment; import org.w3c.dom.Element; import org.w3c.dom.EntityReference; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static List<String> getGrandSonListValueByTagName(Element element, String parentName, String eleName) { NodeList nl = element.getElementsByTagName(parentName); if (null == nl) { return null; } Node item = nl.item(0); if (null == item) { return null; } NodeList subNodeList = item.getChildNodes(); List<String> childEles = new ArrayList<String>(); Node node = null; for (int i = 0; i < subNodeList.getLength(); i++) { node = subNodeList.item(i); if (node != null) { if (node instanceof Element && eleName.equals(node.getNodeName()) || eleName.equals(node.getLocalName())) { childEles.add(getTextValue((Element) node)); } } } return childEles; } public static String getTextValue(Element valueEle) { StringBuffer value = new StringBuffer(); NodeList nl = valueEle.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node item = nl.item(i); if ((item instanceof CharacterData && !(item instanceof Comment)) || item instanceof EntityReference) { value.append(item.getNodeValue()); } } return value.toString().trim(); } }