(使用最新的MVC 2 RC 2)我试图通过元素属性的值对LINQ(C#)中的一些
XML进行排序…
var sites = from s in xDoc.Element("sites").Elements("site") orderby s.Attribute("name") select s;
但是当我将它传递给我的View时,我得到了异常:
Exception Details: System.ArgumentException: At least one object must implement IComparable. Source Error: Line 37: </th> Line 38: </tr> Line 39: <% foreach (var item in Model) Line 40: { %> Line 41: <tr>
有人能告诉我如何使用LINQ对XML进行排序并使其正确呈现吗?
解决方法
编辑:好的,我想你只想要:
var sites = from s in xDoc.Element("sites").Elements("site") orderby (string) s.Attribute("name") select s;
这也可以写成:
var sites = xDoc.Element("sites") .Elements("site") .OrderBy(s => (string) s.Attribute("name"));