2
<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

我尝试从 div 中提取 Token2

我设法通过以下方式获得 Token1 和 Token3:

HtmlNodeCollection headerFooter = doc.DocumentNode.SelectNodes("//div//b");

如何使用 HTMLAgilityPack 直接提取 Token2 ?

一个肮脏的选择是用 doc.DocumentNode.SelectNodes("//div").InnerText 中的 string.empty 替换 Token1 和 Token2,但我想它可以用 HTMLAgilityPack 以更干净的方式完成......

4

1 回答 1

6

文本在文本节点中;所以你应该能够查看“//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();
于 2009-08-28T10:35:25.830 回答