Here you can find the source of evaluateXPathExpression(final String expression, final Node node)
Parameter | Description |
---|---|
expression | XPath expression |
node | DOM node |
Parameter | Description |
---|---|
XPathExpressionException | if expression cannot be evaluated |
public static NodeList evaluateXPathExpression(final String expression, final Node node) throws XPathExpressionException
//package com.java2s; /*//from w w w .ja va2 s. c o m * Copyright 2007-2012 AjaxTags-Team * * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ import javax.xml.namespace.QName; 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 { /** XPathFactory. */ private static final ThreadLocal<XPathFactory> XPATH_FACTORY = new ThreadLocal<XPathFactory>() { @Override protected XPathFactory initialValue() { return XPathFactory.newInstance(); } }; /** * Evaluate XPath expression and return list of nodes. * * @param expression * XPath expression * @param node * DOM node * @return list of DOM nodes * @throws XPathExpressionException * if expression cannot be evaluated */ public static NodeList evaluateXPathExpression(final String expression, final Node node) throws XPathExpressionException { return (NodeList) evaluateXPathExpression(expression, node, XPathConstants.NODESET); } /** * Evaluate XPath expression. * * @param expression * XPath expression * @param node * DOM node * @param returnValue * the desired return type * @return result of evaluating an XPath expression as an Object of returnType * @throws XPathExpressionException * if expression cannot be evaluated */ public static Object evaluateXPathExpression(final String expression, final Node node, final QName returnValue) throws XPathExpressionException { return getNewXPath().evaluate(expression, node, returnValue == null ? XPathConstants.NODE : returnValue); } /** * Create and return a new {@link XPath} object from {@link ThreadLocal}. * * @return a new {@link XPath} object. */ public static XPath getNewXPath() { return XPATH_FACTORY.get().newXPath(); } }