如何通过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
一次,所以我希望它作为对象而不是列表。即使var1
和var2
在NodeChild
中定义了一次,但它们也没有问题,因为我使用了FirstOrDefault
)。
我如何将其创建为单个对象而不是列表?
答案 0 :(得分:1)
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();