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

时间:2016-10-01 09:14:32

标签: 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”

1 个答案:

答案 0 :(得分:1)

这是一种可能的方式,完全基于到目前为止发布的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会查找具有特定span属性值的class,然后返回位于span之后的最近文本节点。根据您的确切需求和实际的HTML结构,可能有更好的方法。

<强> dotnetfiddle demo

输出

123