如何在沒有使用HtmlAgilityPack的子標籤的情況下單獨獲取innertext?

c# html-agility-pack

我有一個HTML頁面如下。我需要單獨從'span'標籤中取出'blah blah blah'。

<span class="news">
blah blah blah
<div>hello</div>
<div>bye</div> 
</span>

這給了我所有的價值觀:

div.SelectSingleNode(".//span[@class='news']").InnerText.Trim();

這給了我null:

div.SelectSingleNode(".//span[@class='news']/preceding-sibling::text()").InnerText.Trim();

如何使用HtmlAgilityPack獲取'div'標籤之前的文本?

一般承認的答案

你的第二次嘗試非常接近。使用/text()代替/preceding-sibling::text()因為文本節點是兒童 span[@class='news']同級 (均未前述也不以下):

div.SelectSingleNode(".//span[@class='news']/text()")
   .InnerText
   .Trim();


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow