我有以下XML在多个位置使用名称“Part”。我只想访问名为“Part”的第一级元素,而不是我的Linq表达式也可以获取名为“Part”的子元素。我用下面的Linq来完成我想要的但看起来有点乱。可以改进吗?
<Stuff>
<Parts>
<Part>
<A>
<Part>
<B>10</B>
</Part>
</A>
</Part>
<Part>
<A>
<Part>
<B>10</B>
</Part>
</A>
</Part>
</Parts>
</Stuff>
var pbp = data.Descendants("Part")
.Where(b => b.Parent == data.Element("Parts"))
.Select(b => (Part)Deserialise(b.ToString(), typeof(Part)));
return pbp.ToList();
答案 0 :(得分:1)
您更喜欢这种形式吗?
var pbp = from p in data.Element("Parts").Elements("Part")
select (Part)Deserialise(p.ToString(), typeof(Part));
return pbp.ToList();