DialectSoftware.XML.Dynamics (nuget): Example:  http://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html   dynamic obj = DynamicParser.Parse(xml);             Assert.IsTrue((string)obj.product.description == "Cardigan Sweater");             foreach (dynamic catalog in obj.product.catalog_item)             {                 foreach (dynamic size in catalog.size)                 {                     Assert.IsNotNull(size.description);                 }             }   dynamic obj = DynamicParser.Parse(xml);             foreach (dynamic catalog in obj.product.Select("*[starts-with(name(.), 'catalog')]"))             {                 foreach (dynamic size in catalog.Select("*[starts-with(name(.), 'size')]", true))                 {                     foreach (dynamic s in size)                     {                         Assert.IsNotNull(s.description);                     }                 }             }
Keywords: XML|Dynamics|RSS|ATOM