加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何通过属性值对LINQ C#中的XML进行排序?也是MVC

发布时间:2020-12-15 04:08:09 所属栏目:百科 来源:网络整理
导读:(使用最新的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: Sy
(使用最新的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"));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读