import org.w3c.dom.*; 
import org.xml.sax.*;
import javax.xml.*; 
import javax.xml.parsers.*; 
import javax.xml.transform.*; 
import javax.xml.transform.dom.*; 
import javax.xml.transform.sax.*; 
import javax.xml.xpath.*; 
import javax.xml.namespace.*; 
import java.io.*;
import java.net.*;

public class NodeXPath{
	public static Node evaluer(InputStream stream, String expression){
		Node node = null;
		try{
			//création de la source
			InputSource source = new InputSource(stream);
			
			//création du XPath 
			XPathFactory fabrique = XPathFactory.newInstance();
			XPath xpath = fabrique.newXPath();
			
			//évaluation de l'expression XPath
			XPathExpression exp = xpath.compile(expression);
			node = (Node)exp.evaluate(source,XPathConstants.NODE);
			
		}catch(XPathExpressionException xpee){
			xpee.printStackTrace();
		}
		return node;
	}
	public static void main(String[] args){
		try{
			URL url = new URL("http://blog.developpez.com/xmlsrv/rss2.php?blog=12");
			
			String expression = "rss/channel/item/title";
			
			Node node = evaluer(url.openStream(),expression);
			System.out.println(node.getTextContent());
		}catch(Exception e){
			e.printStackTrace();	
		}
	}	
}