2010-04-22 57 views
1

嗨:这与here类似。但需要在服务器级而不是客户级完成。目前我使用HTMLAgilityPack,无论如何,我可以检测到重复的ID?提前致谢。HTMLAgilityPack,HTML重复ID

回答

1

这里有一个快速的方法来做到这一点:

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); 

这基本上解析数的整个文件中保持跟踪的哈希值。