Java XPath Evaluate evaluateXPathExpressionAndReturnNodeList(String expression, Node node)

Here you can find the source of evaluateXPathExpressionAndReturnNodeList(String expression, Node node)

Description

Evaluates a XPath expression from a XML node, returning a NodeList.

License

Open Source License

Parameter

Parameter Description
expression A XPath expression
node The NodeList for which this expression should be evaluated

Return

The result of evaluating the XPath expression to the given or null if an ecxception occured NodeList

Declaration

public static NodeList evaluateXPathExpressionAndReturnNodeList(String expression, Node node) 

Method Source Code


//package com.java2s;
/*/*from   w w w  . ja v a2  s .  c o m*/
 * aTunes
 * Copyright (C) Alex Aranda, Sylvain Gaudard and contributors
 *
 * See http://www.atunes.org/wiki/index.php?title=Contributing for information about contributors
 *
 * http://www.atunes.org
 * http://sourceforge.net/projects/atunes
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
    private static volatile ThreadLocal<XPath> xPath;

    /**
     * Evaluates a XPath expression from a XML node, returning a NodeList.
     * 
     * @param expression
     *            A XPath expression
     * @param node
     *            The NodeList for which this expression should be evaluated
     * 
     * @return The result of evaluating the XPath expression to the given or
     *         <code>null</code> if an ecxception occured NodeList
     */
    public static NodeList evaluateXPathExpressionAndReturnNodeList(String expression, Node node) {
        try {
            return (NodeList) getXPath().get().evaluate(expression, node, XPathConstants.NODESET);
        } catch (XPathExpressionException e) {
            return null;
        }
    }

    private static ThreadLocal<XPath> getXPath() {
        if (xPath == null) {
            xPath = new ThreadLocal<XPath>() {
                @Override
                protected XPath initialValue() {
                    return XPathFactory.newInstance().newXPath();
                }
            };
        }
        return xPath;
    }
}

Related

  1. evaluateXPathBool(final Node inNode, final String xpath)
  2. evaluateXPathExpr(final File xmlFile, final XPathExpression xPathExpression, final QName returnType)
  3. evaluateXPathExpr(XPathExpression xpath, Node node)
  4. evaluateXPathExpression(final String expression, final Node node)
  5. evaluateXPathExpressionAndReturnNode(String expression, Node node)
  6. evaluateXPathQuery(Document doc, NamespaceContext context, String xPathQuery)
  7. evalXPath(Node d, String expr, QName returnType)
  8. evalXPath(Node node, String xPath)
  9. evalXPath(String expression, Object item, Class type)