Ich habe eine HTML-Seite wie unten. Ich muss das "bla bla bla" alleine vom "span" -Tag nehmen.
<span class="news">
blah blah blah
<div>hello</div>
<div>bye</div>
</span>
Das gibt mir alle Werte:
div.SelectSingleNode(".//span[@class='news']").InnerText.Trim();
Das gibt mir null:
div.SelectSingleNode(".//span[@class='news']/preceding-sibling::text()").InnerText.Trim();
Wie bekomme ich den Text vor dem 'div' Tag mit HtmlAgilityPack?
Ihr zweiter Versuch war ziemlich nah. Verwenden Sie /text()
anstelle von /preceding-sibling::text()
, da der Textknoten Kind der span[@class='news']
nicht gleichgeschlechtlich (weder vorangehend noch folgend):
div.SelectSingleNode(".//span[@class='news']/text()")
.InnerText
.Trim();