loc 要素に基づいて、Google サイトマップで重複を見つけたいです。
サンプル XML:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:s chemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<url><loc>http://mysite.net/Members.aspx</loc><lastmod>2011-07-01</lastmod></url>
<url><loc>http://mysite.net/Topics.aspx</loc><lastmod>2011-05-27</lastmod></url>
<url><loc>http://mysite.net/Members.aspx</loc><lastmod>2011-07-02</lastmod></url>
</urlset>
サンプル LINQ:
var duplicates = (from req in doc.Descendants("urlset")
group req by req.Descendants("//loc").First().Value
into g
where g.Count() > 1
select g.Skip(1)).SelectMany(elements => elements
);
重複が空を返すのはなぜですか?