Ottieni testo dopo lo span con una classe con Html Agility Pack

c# html html-agility-pack

Domanda

Ho questa struttura

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

Voglio ottenere "123"

questo codice si ottiene tra il tag se esiste

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

ma voglio ottenere "123"

Risposta accettata

Questo è un modo possibile, basato esclusivamente sul sinottet HTML pubblicato finora:

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

Fondamentalmente, XPath cerca l' span con un determinato valore di attributo di class e quindi restituisce il nodo di testo più vicino che si trova dopo lo span . Potrebbe esserci un modo migliore in base al tuo bisogno esatto e alla struttura HTML effettiva.

dotnetfiddle demo

produzione :

123


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché