Here you can find the source of selectElements(Element element, String xpathExpression)
static public ArrayList<Element> selectElements(Element element, String xpathExpression) throws Exception
//package com.java2s; //License from project: GNU General Public License import java.util.ArrayList; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { static public ArrayList<Element> selectElements(Element element, String xpathExpression) throws Exception { ArrayList<Element> resultVector = new ArrayList<Element>(); if (element == null) { return resultVector; }// w ww . jav a2s . co m if (xpathExpression.indexOf("/") == -1) { NodeList nodeList = element.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals(xpathExpression)) { resultVector.add((Element) node); } } } else { XPath xpath = XPathFactory.newInstance().newXPath(); NodeList nodes = (NodeList) xpath.evaluate(xpathExpression, element, XPathConstants.NODESET); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); resultVector.add((Element) node); } } return resultVector; } }