Get List of elements from XML Node by XPath expression - Java XML

Java examples for XML:XPath

Description

Get List of elements from XML Node by XPath expression

Demo Code


//package com.java2s;
import java.util.LinkedList;
import java.util.List;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
    static private XPath xpath;

    static public List<Element> elements(Node context, String expression) {
        try {/*from   ww w.  j  a v  a  2 s.  c  om*/
            NodeList nodeList = (NodeList) xpath.evaluate(expression,
                    context, XPathConstants.NODESET);
            List<Element> result = new LinkedList<Element>();
            for (int i = 0, len = nodeList.getLength(); i < len; i++) {
                result.add((Element) nodeList.item(i));
            }
            return result;
        } catch (XPathExpressionException ex) {
            ex.printStackTrace();
            throw new RuntimeException("invalid xpath expresion used");
        }
    }
}

Related Tutorials