Is it just me? I find LINQ to XML to be sort of cumbersome, compared to XPath.
- by Cheeso
I am a C# programmer, so I don't get to take advantage of the cool XML syntax in VB.
Dim itemList1 = From item In rss.<rss>.<channel>.<item> _
                Where item.<description>.Value.Contains("LINQ") Or _
                      item.<title>.Value.Contains("LINQ")
Using C#, I find XPath to be easier to think about, easier to code, easier to understand, than performing a multi-nested select using LINQ to XML.  Look at this syntax, it looks like Greek swearing:  
var waypoints = from waypoint in gpxDoc.Descendants(gpx + "wpt") 
          select new 
          { 
            Latitude = waypoint.Attribute("lat").Value, 
            Longitude = waypoint.Attribute("lon").Value, 
            Elevation = waypoint.Element(gpx + "ele") != null ? 
                waypoint.Element(gpx + "ele").Value : null, 
            Name = waypoint.Element(gpx + "name") != null ? 
                waypoint.Element(gpx + "name").Value : null, 
            Dt = waypoint.Element(gpx + "cmt") != null ? 
                waypoint.Element(gpx + "cmt").Value : null 
          }; 
All the casting, the heavy syntax, the possibility for NullPointerExceptions.  None of this happens with XPath. 
I like LINQ in general, and I use it on object collections and databases, but my first go-round with querying XML led me right back to XPath. 
Is it just me? 
Am I missing something? 
EDIT: someone voted to close this as "not a real question".  But it is a real question, stated clearly.  The question is: Am I misunderstanding 
something with LINQ to XML?