Как отсортировать XML в LINQ C# значением атрибута? Также MVC

(Используя последний MVC 2 RC 2), я пытаюсь отсортировать некоторый XML в LINQ (C#) значением атрибута элемента...

var sites = from s in xDoc.Element("sites").Elements("site")
orderby s.Attribute("name")
select s;

Но когда я передаю это своему Представлению, я получаю исключение:

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>

Кто-то может сказать мне, как отсортировать XML, использующий LINQ, и иметь его рендеринг правильно?

6
задан tereško 17 November 2013 в 16:59
поделиться

1 ответ

EDIT: Хорошо, я думаю, ты просто хочешь:

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"));
12
ответ дан 9 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: