Caricare un file XML da remoto tramite XDocument e HttpWebRequest

Nello script precedente abbiamo visto come caricare un file XML remoto. In questo script affrontiamo lo stesso argomento offrendo una soluzione differente basata sul recupero del file tramite la classe HttpWebRequest. A differenze di XDocument, HttpWebRequest permette di personalizzare alcune informazioni relative alla chiamata per il recupero del file da remoto. Un tipico esempio è la personalizzazione del timeout; si può modificare questa proprietà per non far attendere per troppo tempo la nostra applicazione.

private XDocument GetRSS(string uri){ 
  HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL); 
  req.Method = "GET"; 
  req.Timeout = 3000; 
  StreamReader streamIn =  
    new StreamReader(req.GetResponse().GetResponseStream()); 
  XDocument xdoc = XDocument.Parse(streamIn.ReadToEnd()); 
  streamIn.Close(); 
  return xdoc; 
}

Nell'esempio viene utilizzato l'oggetto StreamReader per leggere Il flusso dati restituito dalla chiamata tramite HttpWebRequest.
Lo stream ottenuto viene quindi letto e passato a XDocument al fine di avere una struttura XML.

Month List