Linq to xml选择最频繁的值

时间:2011-07-14 11:05:56

标签: c# linq-to-xml

我需要在linq到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();

2 个答案:

答案 0 :(得分:3)

由于你没有展示你到目前为止所尝试的内容,我只会提供一些提示而不是完整的答案:
GroupBy然后Max

答案 1 :(得分: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();