XML fetching question: Ethernet Shield

The base URL for the Time Zone API is
World Weather API and Weather Forecast

#include <SPI.h>
#include <Ethernet.h>


// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 
  *** MY MAC CODE GOES IN HERE**** };
IPAddress ip(*** MY IP GOES IN HERE******);

// initialize the library instance:
EthernetClient client;

const unsigned long requestInterval = 60000;  // delay between requests

char serverName[] = "http://www.worldweatheronline.com/feed/tz.ashx";  // time URL

boolean requested;                   // whether you've made a request since connecting
unsigned long lastAttemptTime = 0;            // last time you connected to the server, in milliseconds

String currentLine = "";            // string to hold the text from server
String time = "";                  // string to hold the time
boolean readingTime = false;       // if you're currently reading the time

void setup() {
  // reserve space for the strings:
  currentLine.reserve(256);
  time.reserve(150);

 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // attempt a DHCP connection:
  Serial.println("Attempting to get an IP address using DHCP:");
  if (!Ethernet.begin(mac)) {
    // if DHCP fails, start with a hard-coded address:
    Serial.println("failed to get an IP address using DHCP, trying manually");
    Ethernet.begin(mac, ip);
  }
  Serial.print("My address:");
  Serial.println(Ethernet.localIP());
  // connect to Time Server:
  connectToServer();
}



void loop()
{
  if (client.connected()) {
    if (client.available()) {
      // read incoming bytes:
      char inChar = client.read();

      // add incoming byte to end of line:
      currentLine += inChar; 

      // if you get a newline, clear the line:
      if (inChar == '\n') {
        currentLine = "";
      } 
      // if the current line ends with <localtime>, it will
      // be followed by the time:
      if ( currentLine.endsWith("<localtime>")) {
        // time is beginning. Clear the time string:
        readingTime= true; 
        time = "";
      }
      // if you're currently reading the bytes of the time,
      // add them to the time String:
      if (readingTime) {
        if (inChar != '<') {
          time += inChar;
        } 
        else {
          // if you got a "<" character,
          // you've reached the end of the time:
          readingTime = false;
          Serial.println(time);   
          // close the connection to the server:
          client.stop(); 
        }
      }
    }   
  }
  else if (millis() - lastAttemptTime > requestInterval) {
    // if you're not connected, and two minutes have passed since
    // your last connection, then attempt to connect again:
    connectToServer();
  }
}

void connectToServer() {
  // attempt to connect, and wait a millisecond:
  Serial.println("connecting to server...");
  if (client.connect(serverName, 80)) {
    Serial.println("making HTTP request...");
    // make HTTP GET request to server:
    client.println("GET /feed/tz.ashx?key=(APIkey)&q=london&format=xml");
    client.println("HOST: http://www.worldweatheronline.com");
    client.println();
  }
  // note the time of this connect attempt:
  lastAttemptTime = millis();
}