Mon code pose quelques problèmes, j'essaie de tirer chaque paragraphe d'une page, mais pour l'instant, il ne sélectionne que le dernier paragraphe.
voici mon code.
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div[@id='body']/p"))
{
string text = node.InnerText;
lblTest2.Text = text;
}
Dans votre boucle, vous prenez le noeud actuel innerText et l'assignez à l'étiquette. Vous faites cela à chaque noeud, vous ne voyez donc que le dernier - vous ne conservez pas les précédents
Essaye ça:
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div[@id='body']/p"))
{
string text = node.InnerText;
lblTest2.Text += text + Environment.NewLine;
}
OMI, XPath n'est pas amusant. Je recommanderais plutôt d'utiliser la syntaxe LINQ:
foreach (var node in doc.DocumentNode
.DescendantNodes()
.Single(x => x.Id == "body")
.DescendantNodes()
.Where(x => x.Name == "p"))
{
string text = node.InnerText;
lblTest2.Text = text;
}