私のXMLファイルから最高の属性「ID」を取得したいと考えています。LINQ to XML少なくとも1つのオブジェクトがIComparableを実装する必要があります
マイコード:
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ファイルで請求書コードの1作品であるが、例えば2である場合、請求書は、私がエラーを持っている場合:
少なくとも一つの目的は、IComparableを実装する必要があります。
doc.Element("ListOfInvoices")
.Elements("Invoice")
.Select(f => f.Attribute("ID").Value)
.OrderByDecending(a => a).FirstOrDefault();
:
あなたは属性値を取得するには、Valueプロパティを使用する必要があります。また、文字列をintにキャストできません。 – Schiavini
@Schiavini:それはXAttributeではなく、XmlAttributeです。 MSDNは言う、コンパイラはそれを受け入れる、なぜあなたはできませんか? – Mithrandir
あなたは正しいですが、あなたはXAttributeをキャストすることができます。しかし、彼の問題は、XAttribute []を返すf.Attributes()のtypoでした。 – Schiavini