XPath para selecionar Elemento por valor de atributo

Eu tenho seguindo XML.

   40 Tom Male Manager   25 Meghna Female Manager   

Quero selecionar o elemento Employee com id = “4”.

Eu estou usando abaixo da expressão XPath que não está retornando nada.

 //Employee/[@id='4']/text() 

Eu verifiquei em http://chris.photobooks.com/xml/default.htm e ele diz inválido xpath, não tenho certeza onde está o problema.

Você precisa remover o / antes do [ . Predicados (as partes em [ ] ) não devem ter barras imediatamente antes deles. Além disso, para selecionar o próprio elemento Employee, você deve deixar o /text() no final ou, caso contrário, você estaria selecionando os valores de texto em branco imediatamente abaixo do elemento Employee.

 //Employee[@id='4'] 

Edit: Como Jens aponta nos comentários, // pode ser muito lento porque procura no documento inteiro por nós correspondentes. Se a estrutura dos documentos com os quais você está trabalhando for consistente, provavelmente será melhor usar um caminho completo, por exemplo:

 /Employees/Employee[@id='4'] 

Tente fazer isso:

 /Employees/Employee[@id=4]/*/text()