Listing 2, Using Silverlight's WebClient Class

private void linqClient_DownloadStringCompleted(object sender, 
  DownloadStringCompletedEventArgs e)
    //Dispatcher.BeginInvoke(() => ProcessWithLinqToXml(e.Result));

private void ProcessWithLinqToXml(string xmlData)
    XDocument doc = XDocument.Parse(xmlData);
    List photos = (from photo in doc.Descendants("photo")
        select new Model.Photo
           Farm = photo.Attribute("farm").Value,
           ID = photo.Attribute("id").Value,
           IsFamily = ConvertBoolean(photo.Attribute("isfamily").Value),
           IsFriend = ConvertBoolean(photo.Attribute("isfriend").Value),
           IsPublic = ConvertBoolean(photo.Attribute("ispublic").Value),
           Owner = photo.Attribute("owner").Value,
           Secret = photo.Attribute("secret").Value,
           Server = photo.Attribute("server").Value,
           Title = photo.Attribute("title").Value,

    //Process Photo Objects

About the Author

Dan Wahlin (Microsoft MVP for ASP.NET and XML Web Services) is the founder of The Wahlin Group which specializes in .NET and SharePoint onsite, online and video training and consulting solutions. Dan also founded the XML for ASP.NET Developers Web site, which focuses on using ASP.NET, XML, AJAX, Silverlight and Web Services in Microsoft's .NET platform. He's also on the INETA Speaker's Bureau and speaks at conferences and user groups around the world. Dan has written several books on .NET including "Professional Silverlight 2 for ASP.NET Developers," "Professional ASP.NET 3.5 AJAX, ASP.NET 2.0 MVP Hacks and Tips," and "XML for ASP.NET Developers." Read Dan's blog here.

comments powered by Disqus


  • Death of the Dev Machine?

    Here's a takeaway from this week's Ignite 2020 event: An advanced Azure cloud portends the death of the traditional, high-powered dev machine packed with computing, memory and storage components.

  • COVID-19 Is Ignite 2020's Elephant in the Room: 'Frankly, It Sucks'

    As in all things of our new reality, there was no escaping the drastic changes in routine caused by the COVID-19 pandemic during Microsoft's big Ignite 2020 developer/IT pro conference, this week shifted to an online-only event after drawing tens of thousands of in-person attendees in years past.

  • Visual Studio 2019 v16.8 Preview Update Adds Codespaces

    To coincide with the Microsoft Ignite 2020 IT pro/developer event, the Visual Studio dev team shipped a new update, Visual Studio 2019 v16.8 Preview 3.1, with the main attraction being support for cloud-hosted Codespaces, now in a limited beta.

  • Speed Lines Graphic

    New for Blazor: Azure Static Web Apps Support

    With Blazor taking the .NET web development world by storm, one of the first announcements during Microsoft's Ignite 2020 developer/IT event was its new support in Azure Static Web Apps.

  • Entity Framework Core 5 RC1 Is Feature Complete, Ready for Production

    The first release candidate for Entity Framework 5 -- Microsoft's object-database mapper for .NET -- has shipped with a go live license, ready for production.

Upcoming Events