LINQ to XML至少有一个对象必须实现IComparable

前端之家收集整理的这篇文章主要介绍了LINQ to XML至少有一个对象必须实现IComparable前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从我的 XML文件获取最高属性“ID”.

我的代码

var doc = XElement.Load("invoices.xml");

    var q = (from f in doc.Element("ListOfInvoices").Elements("Invoice")
             orderby f.Attributes("ID") descending
             select f.Attribute("ID")).FirstOrDefault();

在我的XML文件中,其中一个发票代码有效,但是当例如2发票时,我有一个错误

至少有一个对象必须实现IComparable.

解决方法

尝试将f.Attributes(“ID”)转换为int(如果它是数字)或字符串(如果它是像这样的字母数字):

var q = (from f in doc.Element("ListOfInvoices").Elements("Invoice")
             orderby (int)f.Attribute("ID") descending
             select f.Attribute("ID")).FirstOrDefault();

猜你在找的XML相关文章