2008-10-02 70 views
3

我想使用LINQ到XML來獲得由屬性名稱的.xml文件的單一的XElement,類似於如何檢索Linq中的單個對象通過以下ID來SQL:如何使用Linq to Xml獲取單個XElement對象?

var singleDog = context.Dogs.Single(p => p.Id == int.Parse(Id)); 

這可能嗎?

+0

問得好,凱文。我試圖讓我的頭繞着LINQ到XML,這個問題(和答案)是有幫助的。 – itsmatt 2008-10-02 20:00:16

回答

7

絕對。只需使用類似:

xdoc.Descendants() 
    .Where(x => x.HasAttribute("id") && x.Attribute("id")==id) 
    .Single(); 

有可能做的更有效的方式,無可否認...

+0

這條語句確實有一個問題,我發現,它是XElement對象沒有HasAttribute屬性。如果我從Lambda表達式中刪除它,它的效果非常好! – 2008-10-02 21:06:39