我是Linq的新手,我試圖查詢XML文檔以查找特定用戶的客戶經理列表。 (我意識到把它放在數據庫或其他東西中可能更有意義,但這種情況需要一個XML文檔)。Linq to XML:使用元素屬性和值創建一個匿名對象
<user emailAddress='[email protected]'>
<accountManager department='Customer Service' title='Manager'>[email protected]</accountManager>
<accountManager department='Sales' title='Account Manager'>[email protected]</accountManager>
<accountManager department='Sales' title='Account Manager'>[email protected]</accountManager>
</user>
我試圖創建的對象與同時包含的XElement的屬性的列表(匿名類型?)屬性(部門,職務)和價值(電子郵件)。我知道我可以得到兩者中的任何一個,但我的問題是選擇兩者。
這裏是我嘗試:
var managers = _xDoc.Root.Descendants("user")
.Where(d => d.Attribute("emailAddress").Value == "[email protected]")
.SelectMany(u => u.Descendants("accountManager").Select(a => a.Value));
foreach (var manager in managers)
{
//do stuff
}
我可以在a.Value
和a.Attribute
得到,但我無法弄清楚如何讓兩者和它們存儲在一個對象。我有一種感覺,它會看起來像這樣:
select new {
department = u.Attribute("department").Value,
title = u.Attribute("title").Value,
email = u.Value
};
AH!我很親密。這很完美,謝謝。 – 2010-05-17 01:33:56