2009-11-27 9 views

Répondre

8

Essayez d'utiliser le Html Agility Pack pour analyser le code HTML de votre e-mail et extraire les href attributs de <un> tags.

HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml(emailBody); 
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) 
{ 
    HtmlAttribute att = link.Attributes["href"]; 
    string href = att.Value; 
} 
1

Vous pouvez utiliser une expression régulière, même si ce n'est pas une solution parfaite:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var text = File.ReadAllText(@"d:\test.htm"); 

     Regex regex = new Regex("href\\s*=\\s*\"([^\"]*)\"", RegexOptions.IgnoreCase); 
     MatchCollection matches = regex.Matches(text); 
     foreach(Match match in matches) 
     { 
      Console.WriteLine(match.Groups[1]); 
     } 
    } 
} 
+0

Nice et rapide, pas la regex est peut-être plus lisible comme '@" href \ s * = \ s * "" ([^ ""] *) "" "' (ou peut-être pas, à la réflexion ;-) et que les attributs peuvent avoir des apostrophes comme délimiteurs ainsi que des citations? – Abel