(使用最新的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"));