2011-07-14 43 views
-2

我需要在linq to xml元素集合中选择最frequent发生的值。你是怎样做的?Linq to xml选择最频繁的值

编辑,这是我的尝试,但它显然不正确;

XDocument btCheck = XDocument.Load("https://www.url.com" + postcode); 

var districtCode = btCheck.Descendants("DSL_CHECKER").Elements("ADDRESS_DETAILS").Elements("ADDRESS_DETAIL").Elements("ADDRESS").Elements("DISTRICTID"); 

    string d = (districtCode.GroupBy(z => z.Value).OrderBy(z => z.Key).Take(1)).First(); 

回答

0
 var code = btCheck.Descendants("ADSL_CHECKER").Elements("ADDRESS_DETAILS") 
      .Elements("ADDRESS_DETAIL").Elements("ADDRESS").Elements("DISTRICTID") 
      .GroupBy(z => z.Value).Select(group => new 
      { 
       value = group.Key, 
       Count = group.Count() 
      }) 
      .OrderByDescending(z => z.Count).FirstOrDefault(); 
3

因为你不告诉你试了一下,到目前为止,我只是给一些提示,而不是一个完整的答案:
GroupBy然后Max