J'essaie d'obtenir des informations de rôle, mais le premier nœud n'a pas d'élément "projectRoleType". Je souhaite passer par-dessus celui-ci et saisir uniquement ceux qui ont un "projectRoleType" et "categoryId". Chaque fois que j'essaie de vérifier, j'obtiens toujours l'erreur: La référence d'objet n'est pas définie sur une instance d'un objet. Qu'est-ce que je ne fais pas?Erreur LINQ to XML: La référence d'objet n'est pas définie sur une instance d'un objet
var _role = from r1 in loaded.Descendants("result")
let catid = (string)r1.Element("projectRoles").Element("projectRoleType").Element("categoryId")
where catid != null && catid == categoryId
select new
{
id = (string)r1.Element("projectRoles").Element("projectRoleType").Element("id"),
name = (string)r1.Element("fullName"),
contactId = (string)r1.Element("contactId"),
role_nm = (string)r1.Element("projectRoles").Element("projectRoleType").Element("name")
};
foreach (var r in _role)
{
fields.Add(new IAProjectField(r.id, r.role_nm, r.name, r.contactId));
}