开发者

How can I download an XML file using C#?

开发者 https://www.devze.com 2023-01-05 21:35 出处:网络
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 memo开发者_如何转开发ry so I can grab information from it usin

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 memo开发者_如何转开发ry so I can grab information from it using Linq?

Thanks for the help.


Why complicate things? This works:

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


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"));
}


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消