Получите текст после пролета с классом с пакетом гибкости Html

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-ситппе, опубликованном до сих пор:

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


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему