C # XML ToList внутри ToList - PullRequest
       16

C # XML ToList внутри ToList

1 голос
/ 28 октября 2010

У меня есть следующий код C #, и я понятия не имею, почему он не работает (я получаю ошибку NullReferenceException).Если я определю Recipe как новый List (), все начнет работать нормально.

foreach (XElement element in document.Descendants("vegetables"))
        {
            VegetablesList = (
                from vegetables in element.Elements()
                select new FoodItem()
                {
                    Name = (vegetables.Element("name") == null) ? null : vegetables.Element("name").Value.ToString(),
                    Bcg = (vegetables.Element("bcg") == null) ? null : vegetables.Element("bcg").Value.ToString(),
                    Info = (vegetables.Element("info") == null) ? null : vegetables.Element("info").Value.ToString(),
                    Recipes = (
                        from recipes in element.Element("recipes").Elements()
                        select new Recipe()
                        {
                            Name = (recipes.Element("name") == null) ? null : recipes.Element("name").Value.ToString(),
                            Text = (recipes.Element("text") == null) ? null : recipes.Element("text").Value.ToString()
                        }
                    ).ToList()
                }
            ).ToList();
            VegetablesListBox.ItemsSource = VegetablesList;
        }

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 28 октября 2010

Я предполагаю, что element.Element("recipes") возвращает null, что означает, что элемент recipes не существует для этой итерации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...