Ich habe folgende HTML in einer Datei, ich HTMLDocument
diese Datei in ein HTMLDocument
mit HtmlAgilityPack
.
Das Problem ist, dass ich nur Hello World!
bekommen möchte Hello World!
Verwenden Sie XPath
und nicht den inneren Text.
Wie erreiche ich das?
<ul>
<li>
Hello world!
<ul>
<li>
Welcome to planet!
</li>
</ul>
</li>
</ul>
Der XPath:
//ul/li[1]/text()
Sollte der eigentliche Text "Hello World!"
Sie können dann den Wert dieses Knotens auswählen.
In Benutzung:
string text = doc.DocumentElement.SelectSingleNode("//ul/li[1]/text()").Value;
Im Wesentlichen lautet das, was dies sagt, zu einem ul-Knoten navigieren, die erste li auswählen und dann den text () -Knoten auswählen.
htmlDocument.DocumentNode.SelectNodes("//ul/li").First().FirstChild.InnerText;
wird Hallo Welt zurückgeben!