while (client.connected() || client.available()) { //connected or data available
char c = client.read(); //gets byte from ethernet buffer
So, if there is a client connected (client.connected() is true) but there is not data to read (client.available() is o (or false)), read some data. That should be && (and), not || (or).
if ( currentLine.endsWith("<name>")) {
No line ends with , so this will always return false.
o sorry i missed a piece of the code here is it complete
Funny definition of complete.