LINQ to XML has a way in which arbitrary objects can be used to "annotate" an XML tree. This provides a convenient way to associate a non XML data structure with data stored in an XML tree. You can also have a LINQ to XML tree fire events whenever its content is modified.
In this video we take a look at both of these aspects of LINQ to XML.
Comments