HTMLAgilityPack analizza in InnerHTML

c# html-agility-pack

Domanda

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

Provo ad estrarre Token2 dal div

Riesco a ottenere Token1 e Token3 con:

<div>
<b>Token1</b>
Token2
<b>Token3</b>
</div>

Come posso estrarre direttamente Token2 con HTMLAgilityPack?

Un'opzione dirty è quella di sostituire Token1 e Token2 da string.empty in doc.DocumentNode.SelectNodes ("// div"). InnerText, ma immagino che possa essere fatto in modo più pulito con HTMLAgilityPack ...

Risposta esperta

Il testo è nei nodi di testo; quindi dovresti essere in grado di guardare "// div / text ()" e concatenare:

StringBuilder sb = new StringBuilder();
foreach (HtmlAgilityPack.HtmlTextNode node in
      doc.DocumentNode.SelectNodes("//div/text()"))
{
    sb.Append(node.Text.Trim());
}
string s = sb.ToString();



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é