J'ai un Linq assez simple à la requête XML:Comment produire plusieurs éléments dans Linq à l'énumérateur XML?
var q = from c in xd.Descendants("PrimaryCategory")
where (int)xd.Element("PrimaryCategoryID") == 3
select new {campaignName = c.Element("CategoryList").Element("CategoryName").Value,
campaignURL = c.Element("CategoryList").Element("CategoryURL").Value};
Cela ne fin pour tirer le categoryname et la categoryURL du premier élément de CatégorieListe du PrimaryCategoryID 3. Le seul problème est qu'il ya plusieurs nœuds CatégorieListe dans la PrimaryCategory et j'en ai besoin pour retourner une liste énumérable d'objets avec tous les noms et toutes les URL.
Qu'est-ce que je fais de mal?
Notez que dans votre requête, vous utilisez 'xd.Element (" PrimaryCategoryID ") == 3'. Je pense que vous vouliez utiliser 'c' ici. –
Pourquoi cela fonctionne-t-il très bien dans les deux sens? Comment la syntaxe d'origine la romprait-elle s'il y avait plus de trois PrimaryCategoryID? Mais merci de le signaler. Je suis nouveau à LINQ et encore plus récent à LINQ to XML. –