如何在没有使用HtmlAgilityPack的子标签的情况下单独获取innertext?

时间:2014-10-18 10:32:30

标签: c# html-agility-pack

我有一个HTML页面,如下所示。我需要采取“等等等等等”。单独来自' span'标签

<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();

如何在&#39; div之前获取文字?标签使用HtmlAgilityPack?

1 个答案:

答案 0 :(得分:9)

你的第二次尝试非常接近。使用/text()代替/preceding-sibling::text(),因为文本节点是span[@class='news']而不是兄弟 child (既不在前面也不在后面):

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