繁体   English   中英

ToList内的C#XML ToList

[英]C# XML ToList inside ToList

我有以下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;
        }

谢谢你的帮助!

我的猜测是element.Element("recipes")返回null ,这意味着该迭代不存在recipes元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM