/**
*
*/
package com.occamlab.te.web;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* @author lbermudez
*
*/
public class XMLUtils {
/**
* Get first node on a Document doc, give a xpath Expression
*
* @param doc
* @param xPathExpression
* @return a Node or null if not found
*/
public static Node getFirstNode(Document doc, String xPathExpression) {
try {
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr;
expr = xpath.compile(xPathExpression);
NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
return nl.item(0);
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return null;
}
/**
* REturns a node list given a document and xpath Expression
*
* @param doc
* @param xPathExpression
* @return ull of expression is not found
*/
public static NodeList getAllNodes(Document doc, String xPathExpression) {
try {
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr;
expr = xpath.compile(xPathExpression);
NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
return nl;
} catch (XPathExpressionException e) {
e.printStackTrace();
}
return null;
}
}