c# - InnerHTML 中的 HTMLAgilityPack 解析

标签 c# html-agility-pack

<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/

相关文章:

c# - HTMLAgilitypack 使用 ajax 调用读取 html 页面信息

c# - 使用 html Agility Pack 选择属性值

c# - 全部的 HtmlAgilityPack 子串按长度

c# - 如何在c#中制作带圆角的文本框?

c# - 根据枚举值选择列表部分

c# - 扩展字符集的算法?

c# - Workflow Foundation 中自定义事件所需参数的默认值

c# - 使用 HtmlAgilityPack C# 检索特定 URL

c# - 如何在C#中从HtmlTable中提取数据并排列成行?

javascript - 从 MVC 下载文件