C# 使用带有Html Agility Pack的类获取跨度后的文本

C# 使用带有Html Agility Pack的类获取跨度后的文本,c#,html,html-agility-pack,C#,Html,Html Agility Pack,我有这个结构 <span class="glyphicon glyphicon-user"></span> 123 <br> 但是我想得到“123”这是一种可能的方法,完全基于目前发布的HTML sinppet: var query = "//span[@class='glyphicon glyphicon-user']/following-sibling::

我有这个结构

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

但是我想得到“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结构,可能有更好的方法

输出:

123

你需要发布一个更大的结构。(包括p段)谢谢,如果123在123中,我怎么能得到它?@nasr该跨度在哪里?为上下文发布更多HTML。请理解,我们不能提供准确的建议,因为只有很少的信息(意识到只有你才能看到实际的HTML)。这也是对你的问题的评论所暗示的。。。123
在这种情况下,您需要的是最近的后续同级span元素,而不是最近的后续同级span元素:
//span[@class='glyphicon glyphicon user']/following::span[1]
它不起作用,并且eror is::Object reference未设置为对象的实例
123