如何按元素子元素的属性对元素进行排序?

时间:2013-10-07 16:57:49

标签: .net vb.net linq xelement

对于像

这样的XElement
<a>
 <b><c id="2"></b>
 <b><c id="3"></b>
 <b><c id="1"></b>
</a>

有没有办法获得按<b> id值排序的<c>列表?

我没有成功尝试

bElements.OrderBy(function b As XElement) b.Elements.Attributes("id"))bElements.OrderBy(function b As XElement) b.Elements.ToString)

1 个答案:

答案 0 :(得分:1)

根据您的确切需求,您可以这样做:

bElements.OrderBy(function (b As XElement) b.Elements.Attributes("id").First().Value)

或者这个:

bElements.OrderBy(function (b As XElement) b.Elements.First().Attribute("id").Value)

甚至这个:

bElements.OrderBy(function (b As XElement) b.<c>.@id)