(Using the latest MVC 2 RC 2) I'm trying to sort some XML in LINQ (C#) by an element's attribute's value...
var sites = from s in xDoc.Element("sites").Elements("site")
orderby s.Attribute("name")
select s;
But when I pass this to my View I get the exception:
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>
Can someone tell me how to sort XML using LINQ and have it render properly?
EDIT: Okay, I think you just want:
var sites = from s in xDoc.Element("sites").Elements("site")
orderby (string) s.Attribute("name")
select s;
Which could also be written as:
var sites = xDoc.Element("sites")
.Elements("site")
.OrderBy(s => (string) s.Attribute("name"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With