Чтобы избежать исключения NullReferenceException при доступе к элементу FullName
, вы можете привести его к строке без вызова Value
для элемента. Если он не существует, возвращается ноль, в противном случае будет возвращено значение. Затем вы можете проверить на ноль, перебирая результаты.
Изменение: FullName = party.Element("FullName").Value,
Кому: FullName = (string)party.Element("FullName"),
Обновленный запрос будет:
var partyElements = from party in xmlDoc.Descendants("Party")
select new
{
Name = party.Attribute("id").Value,
PartyTypeCode = party.Element("PartyTypeCode").Value,
FullName = (string)party.Element("FullName"),
GovtID = party.Element("GovtID").Value,
};
Вы можете сделать то же самое для всех элементов, которые могут существовать или не существовать для определенных элементов.