Java XPath Select selectElements(Element element, String xpathExpression)

Here you can find the source of selectElements(Element element, String xpathExpression)

Description

select Elements

License

Open Source License

Declaration

static public ArrayList<Element> selectElements(Element element,
            String xpathExpression) throws Exception 

Method Source Code

//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;
    }
}

Related

  1. getValueByXPath(Document document, String xpath)
  2. getValueByXPathAsInt(Document document, String xpath)
  3. getValueFromXPath(Document document, String xpathString)
  4. getXmlElements(Document inXml, String xpath)
  5. selectNodeIterator(Node nContextNode, String sXPath)
  6. selectNodeList(Node contextNode, String expression)
  7. selectNodeList(Node node, String expression)
  8. selectNodes(final Node node, final String xPath)