Java tutorial
//package com.java2s; import org.w3c.dom.Node; import javax.xml.namespace.NamespaceContext; 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; public class Main { private static final ThreadLocal<XPathFactory> xPathFactoryCache = new ThreadLocal<XPathFactory>() { @Override protected XPathFactory initialValue() { return XPathFactory.newInstance(); } }; public static String getStringContentByXPath(Node parentNode, NamespaceContext context, String xPathExpression) throws XPathExpressionException { return (String) getByXPath(parentNode, context, xPathExpression, XPathConstants.STRING); } public static Object getByXPath(Node parentNode, NamespaceContext context, String xPathExpression, QName type) throws XPathExpressionException { XPathFactory xPathFactory = xPathFactoryCache.get(); XPath xPath = xPathFactory.newXPath(); xPath.setNamespaceContext(context); return xPath.evaluate(xPathExpression, parentNode, type); } }