Я программист на C #, поэтому я не могу воспользоваться преимуществом классного синтаксиса XML в VB.
Dim itemList1 = From item In rss.<rss>.<channel>.<item> _
Where item.<description>.Value.Contains("LINQ") Or _
item.<title>.Value.Contains("LINQ")
Используя C #, я считаю, XPath легче думать, легче кодировать, легче понимать, чем выполнять множественный выбор, используя LINQ to XML . Посмотрите на этот синтаксис, он выглядит как греческое ругательство:
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
};
Все приведение, тяжелый синтаксис, возможность исключений NullPointerException. Ничего из этого не происходит с XPath.
Мне нравится LINQ в целом, и я использую его в коллекциях объектов и базах данных, но мой первый обзор запросов XML привел меня обратно к XPath.
Это только я?
Я что-то упустил?
РЕДАКТИРОВАТЬ : кто-то проголосовал за то, чтобы закрыть это как "не реальный вопрос". Но это - это настоящий вопрос, четко сформулированный. Вопрос: Неужели я недопонимаю?
что-нибудь с LINQ to XML?