Sono un programmatore C#, quindi non posso sfruttare la sintassi XML di VB.Sono solo io? Trovo che LINQ to XML sia un po 'macchinoso, rispetto a XPath
Dim itemList1 = From item In rss.<rss>.<channel>.<item> _
Where item.<description>.Value.Contains("LINQ") Or _
item.<title>.Value.Contains("LINQ")
con C#, trovo XPath essere più facile da pensare, più facile da codice, più facile da capire, che l'esecuzione di un multi-SELECT nidificato utilizzando LINQ to XML. Guardate questa sintassi, sembra giuramento greca:
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
};
Tutto il casting, la sintassi pesante, la possibilità per NullPointerExceptions. Niente di tutto questo accade con XPath.
Mi piace LINQ in generale, e lo utilizzo su raccolte di oggetti e database, ma il mio primo go-round con query XML mi ha portato direttamente a XPath.
Sono solo io?
Mi manca qualcosa?
EDIT: qualcuno ha votato per chiudere questa come "non una vera e propria domanda". Ma è è una vera domanda, dichiarata chiaramente. La domanda è: Sto fraintendendo lo con LINQ to XML?
Sì, sei proprio tu.: p –
Sono d'accordo, adoro L2O, L2S ecc. ma quando si ha a che fare con xml mi limito ad usare xpath insieme a xmldocument/xmlnode/xmlelement ecc. Linq-to-XML è forse più facile da usare ma se si ha xpath tra le dita quindi non batterà xpath ... – KristoferA
No, non sei solo tu. Linq-to-XML potrebbe sembrare un approccio "più intelligente", ma come te, preferisco ancora XPath. Se conosci XPath e puoi farne uso - con tutti i mezzi, fallo! :-) Non sei solo :-) –