HTMLAgilityPack, двойные идентификаторы HTML - PullRequest
1 голос
/ 22 апреля 2010

Привет: Это похоже на это здесь . Но это должно быть сделано на уровне сервера, а не на уровне клиента. В настоящее время я использую HTMLAgilityPack. Могу ли я обнаружить дубликаты идентификаторов? Заранее спасибо.

1 Ответ

1 голос
/ 23 апреля 2010

Вот быстрый способ сделать это:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlString);

var count = new Dictionary<string, int>(); 

foreach (var node in doc.DocumentNode.Descendants())
{
    string id = node.GetAttributeValue("id", null);
    if (id != null)
    {
        if (count.ContainsKey(id)) count[id] += 1;
        else count.Add(id, 1); 
    }
}

var duplicates = count.Where( id => id.Value > 1 );

Это в основном анализирует весь документ, отслеживая количество в хэше.

...