Tutorial :How can I download an XML file using C#?



Question:

Given this URL:

http://www.dreamincode.net/forums/xml.php?showuser=1253

How can I download the resulting XML file and have it loaded to memory so I can grab information from it using Linq?

Thanks for the help.


Solution:1

Load string:

string xml = new WebClient().DownloadString(url);  

Then load into XML:

XDocument doc = XDocument.Parse(xml);  

For example:

[Test]  public void TestSample()  {      string url = "http://www.dreamincode.net/forums/xml.php?showuser=1253";      string xml;      using (var webClient = new WebClient())      {          xml = webClient.DownloadString(url);      }        XDocument doc = XDocument.Parse(xml);        // in the result profile with id name is 'Nate'      string name = doc.XPathSelectElement("/ipb/profile[id='1253']/name").Value;      Assert.That(name, Is.EqualTo("Nate"));  }  


Solution:2

Why complicate things? This works:

var xml = XDocument.Load("http://www.dreamincode.net/forums/xml.php?showuser=1253");  


Solution:3

You can use the WebClient class:

WebClient client = new WebClient ();  Stream data = client.OpenRead ("http://example.com");  StreamReader reader = new StreamReader (data);  string s = reader.ReadToEnd ();  Console.WriteLine (s);  data.Close ();  reader.Close ();  

Though using DownloadString is easier:

WebClient client = new WebClient ();  string s = client.DownloadString("http://example.com");  

You can load the resulting string into an XmlDocument.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »