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