Java XPath Evaluate evaluateXPathExpressionAndReturnNode(String expression, Node node)

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

Description

Evaluates a XPath expression from a XML node, returning a Node object

License

Open Source License

Parameter

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

Return

The result od evaluating the XPath expression to the given Node or null if an ecxception occured

Declaration

public static Node evaluateXPathExpressionAndReturnNode(String expression, Node node) 

Method Source Code

//package com.java2s;
/*//  w w w . j ava 2s .c om
 * aTunes 1.8.2
 * Copyright (C) 2006-2008 Alex Aranda, Sylvain Gaudard, Thomas Beckers and contributors
 *
 * See http://www.atunes.org/?page_id=7 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;

public class Main {
    private static ThreadLocal<XPath> xPath = new ThreadLocal<XPath>() {
        @Override
        protected XPath initialValue() {
            return XPathFactory.newInstance().newXPath();
        }
    };

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

Related

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