XPathExpression expr = xpath.compile("//catalog//book[title='Midnight Rain']//author//text()"); In the above code, the result will be the author node value in which the tile is 'Midnight Rain', right? But I would like to parse that value dynamically from user input instead of constant value. Like, for example: XPathExpression expr = xpath.compile("//catalog//book[title=input-got-from-user]//author//text()"); How can i do this? Thanks in advance.