Ciao potersti usare le regular expressions.
Per prima cosa importi il namespace corretto:
using System.Text.RegularExpressions;
Poi fai una cosa del genere:
string html = "<p>pluto</p><p>paperino</p>";//il contenuto della pagina da parsare
string regEx = @"<p>(?<CONTENT_VALUE>.*?)</p>";//la regular expression
MatchCollection contents = Regex.Matches(html, regEx, RegexOptions.Singleline | RegexOptions.IgnoreCase);
foreach (Match content in contents)
Console.WriteLine(content.Groups["CONTENT_VALUE"].Value); Ti viene stampato "pluto" e "paperino".
Riassumendo: l'espressione regolare "<p>(?<CONTENT_VALUE>.*?)</p>" va a prendere tutto il testo contenuto tra i tag <p> e </p>. Per fare in modo che i tag stessi non siano compresi nella selezione, il contenuto viene inseriro in un GRUPPO con nome "CONTENT_VALUE".
Il codice
Regex.Matches(html, regEx, RegexOptions.Singleline | RegexOptions.IgnoreCase);
significa "Prendimi tutti i tag <p></p> e il loro contenuto ignorando le maiuscole e minuscole e considerando il testo come se fosse su una sola riga", quest'ultima opzione ti evita problemi in casi di ritorno a capo.
Una volta fatto ciò si cicla su tutti i match e per ognuno di questi si legge il contenuto del gruppo "CONTENT_VALUE".
Per varie info vai qui:
http://www.regular-expressions.info/ Fammi sapere se ti è stato utile.
Ciao
Modificato da roland79 il 11 gennaio 2012 08.41 -