I passed across some code to Daniel just last night as he was struggling to get LINQ to XML to read some XML data from a web site ( actually, a web service ) for him. One of the things I miss in Silverlight ( from WPF ) is the ability to naturally bind to XML data and this discussion with Daniel prompted to wonder what I could do about writing classes that make XML data binding more declarative. Approach 1 ( not going to work ) My first instinct was to see if I could implement my own markup extension so that in markup I could write something like; <ListBox ItemsSource="{XmlBinding Source=foo.xml, Path=/foo/item}"/> and then maybe in the template for that ListBox I could use something like; <TextBlock Text="{XmlBinding Path=@value}"/> or something along those lines. However, there's a number of things that would stop me being able to do that; Silverlight doesn't support custom markup extensions like {XmlBinding} above so, naturally, that's really "game over" for this idea. There's also a couple of other...