<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 以更干净的方式完成...
最佳答案
文本位于文本节点中;所以你应该能够查看“//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();
关于c# - InnerHTML 中的 HTMLAgilityPack 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346144/