2011-10-17 53 views
0

我有以下Xelemnt包含一個linq查詢。該查詢工作正常,但我希望能夠返回一個空招聘人員元素,如果招聘人員列表(List<recruiters>)中沒有招聘人員爲特定的人。有沒有簡單的方法可以做到這一點,而不必檢查xml建立後是否存在特定人員的招聘人員元素,如果沒有,然後添加它?LinQ to Xml查詢和顯示空元素

XElement Person = 
        new XElement("Person", 
        new XElement("title", ""), 
        new XElement("id",""), 
        new XElement("url", ""), 
        (from Recruiter r in recruiters 
         where r.id == p.id 
         select new XElement("Recruiter", 
         new XElement("recruitername", r.recruitername), 
         new XElement("recruiteremail", r.recruiteremail), 
         new XElement("recruiterphone")))); 

回答

1

您可能想看看Enumerable類的DefaultIfEmpty方法。 msdn

XElement defaultRecruiter = new XElement("Recruiter"); 
XElement Person = 
       new XElement("Person", 
       new XElement("title", ""), 
       new XElement("id",""), 
       new XElement("url", ""), 
       (from Recruiter r in recruiters 
        where r.id == p.id 
        select new XElement("Recruiter", 
        new XElement("recruitername", r.recruitername), 
        new XElement("recruiteremail", r.recruiteremail), 
        new XElement("recruiterphone"))).DefaultIfEmpty(defaultRecruiter)); 
+0

正是我在找的東西,像一個魅力的作品謝謝 – fedor333