Soy un programador de C#, así que no aprovecho la excelente sintaxis XML en VB.¿Soy solo yo? Creo que LINQ to XML es algo engorroso, en comparación con XPath
Dim itemList1 = From item In rss.<rss>.<channel>.<item> _
Where item.<description>.Value.Contains("LINQ") Or _
item.<title>.Value.Contains("LINQ")
con C#, encuentro XPath a ser más fácil que pensar, más fácil de código, más fácil de entender, que la realización de una multi-anidado de selección utilizando LINQ to XML. Mira esta sintaxis, parece que jurar griego:
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
};
Todo el casting, la sintaxis pesada, la posibilidad de que NullPointerExceptions. Nada de esto sucede con XPath.
Me gusta LINQ en general, y lo uso en colecciones de objetos y bases de datos, pero mi primera vuelta con consultar XML me llevó de vuelta a XPath.
¿Soy solo yo?
¿Echo de menos algo?
EDITAR: alguien votó para cerrar esto como "no es una cuestión real". Pero es una pregunta real, declarada claramente. La pregunta es: ¿Estoy malentendido algo con LINQ to XML?
Sí, eres solo tú.: p –
Estoy de acuerdo, me encanta L2O, L2S, etc. pero cuando se trata de xml me limito a utilizar xpath junto con xmldocument/xmlnode/xmlelement etc. Linq-to-XML es quizás más fácil de usar pero si tiene xpath en tus dedos, entonces no va a vencer a xpath ... – KristoferA
No, no eres solo tú. Linq-to-XML podría parecer un enfoque "más inteligente", pero como usted, todavía prefiero XPath. Si conoce XPath y puede usarlo, ¡por supuesto, hágalo! :-) No estás solo :-) –