Java tutorial
//package com.java2s; import java.util.ArrayList; import java.util.List; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class Main { /** * Wrapper for <code>getElementsByTagName</code> with the "quirk" that it * returns an array instead of a "live" NodeList (meaning that changes to * the DOM tree after returning the element list will not affect the element * list). * * @param parent * @param decendantElementsNS * @param decentantElementsName * @return */ public static List<Element> getNamedDecendants(Element parent, String decendantElementsNS, String... decentantElementsNames) { List<Element> res = new ArrayList<Element>(); for (String decentantElementsName : decentantElementsNames) { NodeList elements = null; if (decendantElementsNS != null && decendantElementsNS.length() > 0) { elements = parent.getElementsByTagNameNS(decendantElementsNS, decentantElementsName); } else { elements = parent.getElementsByTagName(decentantElementsName); } for (int i = 0; i < elements.getLength(); i++) { res.add((Element) elements.item(i)); } } return res; } }