Obtenez du texte après la fin d'une session avec une classe avec HTML Agility Pack

c# html html-agility-pack

Question

J'ai cette structure

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

Je veux obtenir "123"

ce code se situe entre le tag s'il existe

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

mais je veux obtenir "123"

Réponse acceptée

C'est une façon possible, basée uniquement sur le code HTML sinppet posté jusqu'à présent:

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

Fondamentalement , le XPath cherche span avec une certaine class valeur d'attribut, puis retourner le nœud de texte le plus proche situé après la span . Il pourrait y avoir une meilleure solution en fonction de vos besoins et de la structure HTML actuelle.

dotnetfiddle demo

sortie:

123


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow