
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
EmoticonEmoticon