Je suis un programmeur C#, donc je ne profite pas de la syntaxe XML sympa dans VB.Est-ce juste moi? Je trouve que LINQ to XML est un peu lourd, comparé à XPath
Dim itemList1 = From item In rss.<rss>.<channel>.<item> _
Where item.<description>.Value.Contains("LINQ") Or _
item.<title>.Value.Contains("LINQ")
utilisant C#, je trouve XPath être plus facile de penser, plus facile à coder, plus facile à comprendre, que d'effectuer une sélection multi-imbriquée à l'aide LINQ to XML. Regardez cette syntaxe, il ressemble à jurer grec:
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
};
Toute la coulée, la syntaxe lourde, la possibilité pour NullPointerExceptions. Rien de tout cela ne se passe avec XPath. J'aime LINQ en général, et je l'utilise sur les collections d'objets et les bases de données, mais ma première tentative d'interrogation de XML m'a ramené à XPath.
Est-ce juste moi?
Ai-je raté quelque chose?
EDIT: quelqu'un a voté pour fermer cette "non une vraie question". Mais il est une vraie question, a déclaré clairement. La question est: Suis-je mal comprendre quelque chose avec LINQ to XML?
Ouais, c'est juste toi.: p –
Je suis d'accord, j'aime L2O, L2S etc. mais quand je traite xml, je me contente d'utiliser xpath avec xmldocument/xmlnode/xmlelement etc. Linq-to-XML est peut-être plus facile à utiliser, mais si vous avez xpath dans tes doigts alors il ne battra pas xpath ... – KristoferA
Non, ce n'est pas seulement toi. Linq-to-XML peut sembler une approche plus "intelligente", mais comme vous, je préfère toujours XPath. Si vous connaissez XPath et que vous pouvez en faire usage - par tous les moyens, faites-le! :-) Vous n'êtes pas seul :-) –