Ho seguito html in un file, sto caricando questo file in un HTMLDocument
usando HtmlAgilityPack
.
Il problema è che voglio solo ottenere Hello World!
usando XPath
e non il testo interno.
Come ottengo questo?
<ul>
<li>
Hello world!
<ul>
<li>
Welcome to planet!
</li>
</ul>
</li>
</ul>
L'XPath:
//ul/li[1]/text()
Dovrebbe selezionare il testo attuale "Hello World!"
È quindi possibile selezionare il valore di questo nodo.
In uso:
string text = doc.DocumentElement.SelectSingleNode("//ul/li[1]/text()").Value;
In sostanza, ciò che dice è navigare in un nodo ul, selezionare il primo li e quindi selezionare il nodo text ().
htmlDocument.DocumentNode.SelectNodes("//ul/li").First().FirstChild.InnerText;
tornerà Hello world!