<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>
Я пытаюсь извлечь Token2 из div
Мне удается получить Token1 и Token3 с:
HtmlNodeCollection headerFooter = doc.DocumentNode.SelectNodes("//div//b");
Как я могу напрямую извлечь Token2 с помощью HTMLAgilityPack?
Один грязный вариант - заменить Token1 и Token2 на string.empty в doc.DocumentNode.SelectNodes ("// div"). InnerText, но я думаю, что это можно сделать более чистым способом с помощью HTMLAgilityPack ...
Текст находится в текстовых узлах; поэтому вы должны иметь возможность посмотреть «// div / text ()» и объединить:
StringBuilder sb = new StringBuilder();
foreach (HtmlAgilityPack.HtmlTextNode node in
doc.DocumentNode.SelectNodes("//div/text()"))
{
sb.Append(node.Text.Trim());
}
string s = sb.ToString();