Ecco lo snippet html. Come ottengo il testo dello spazio normalizzato?
Per cercare lo stesso frammento, ma usando Xpath //*[normalize-space()='Text1 Text2']
<div>
<div>
<a></a>
<a></a>
<div><a><span></span>Text2</a></div>
</div>
<div>Text2</div>
</div>
usando:
var htmlNodes = htmlDoc.DocumentNode.SelectNodes("*");
foreach (var node in htmlNodes)
{
text += node.InnerText;
}
Prendo questa stringa:
"\r\n \r\n \r\n \r\n \r\n Text1\r\n Text2"
Posso avere un testo normale?
"Text1 Text2"
È possibile utilizzare invece la proprietà InnerText
:
var texts = document.DocumentNode.Descendants("div").Select(n => n.InnerText);
E combinali se vuoi:
var combined = string.Join(" ", texts);
Per filtrare i valori vuoti:
.Select(n => n.InnerText.Replace("\r\n", "")).Where(s => !string.IsNullOrEmpty(s));