2010-04-22 61 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); 

這基本上解析數的整個文件中保持跟蹤的哈希值。