繁体   English   中英

如何从xml创建对象

[英]How to create object from an xml

如何通过XElement创建对象? 我可以创建一个列表,但是我想要一个对象而不是列表。

这是我的代码:

XElement elem = XElement.Load(path);
var myList = from n in elem.Descendants("NodeNumber1")
             select new
             {
                 Name = n.Attribute("Name").Value,
                 MyObj = from o in n.Descendants("NodeChild")
                         select new
                         {
                             var1 = o.Descendants("var1").FirstOrDefault().Value,
                             var2 = o.Descendants("var2").FirstOrDefault().Value,
                         }
             };

NodeChild一次位于NodeNumber1 ,因此我希望将其作为对象而不是列表。 甚至var1var2NodeChild都定义一次-但它们没有问题,因为我使用FirstOrDefault )。

如何将其创建为单个对象而不是列表?

var axe = elem.Descendants("NodeNumber1")
               .Select(n => new
               {
                   Name= n.Attribute("Name").Value,
                   MyObj= from o in n.Descendants("NodeChild")
                          select new
                          {
                              var1= o.Descendants("var1").FirstOrDefault().Value,
                              var2= o.Descendants("var2").FirstOrDefault().Value,
                          }
               })
               .First();

或使用现有查询:

var axe = axesList.First();

暂无
暂无

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

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