c# - 使用 Html Agility Pack 的类在跨度后获取文本

标签 c# html html-agility-pack

我有这个结构

   <span class="glyphicon glyphicon-user"></span>
                         123                       <br>

我想得到“123”

此代码如果存在则在标签之间获取

var username = document.DocumentNode.SelectSingleNode("//p[@class='glyphicon-user']");
//Response.Write(username.InnerText);

但我想得到“123”

最佳答案

这是一种可能的方式,完全基于目前发布的 HTML sinppet:

var query = "//span[@class='glyphicon glyphicon-user']/following-sibling::text()[1]";
var username = document.DocumentNode.SelectSingleNode(query);
Console.WriteLine(username.InnerText.Trim());

基本上,XPath 会查找具有特定 class 属性值的 span,然后返回位于 span 之后的最近的文本节点 。根据您的具体需要和实际的 HTML 结构,可能有更好的方法。

dotnetfiddle demo

输出:

123

关于c# - 使用 Html Agility Pack 的类在跨度后获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39804878/

相关文章:

c# - 如何使用 HtmlAgilityPack 提取完整的 url - C#

c# - 如何连接两个 HtmlNodeCollection

c# - 事件在wpf中如何传播?

C# 注册嵌入式 Directshow 过滤器

php - 从下拉列表中选择特定项目时从数据库表填充表数据?

javascript - Jquery .each() 仅替换第一个找到的

c# - 我们有一个图形设计师,现在他们想要一个基于文本的设计师。建议?

c# - 如果键包含一些子字符串,如何从字典中动态删除键值对?

javascript - 创建一条垂直线,覆盖所有 html 内容并在特定时间段内在页面上移动(javascript)

c# - 使用 HtmlAgilityPack 解析 dl