goo*_*now 6 c# html-agility-pack
我有一个HTML页面,如下所示.我需要单独从'span'标签中取出'blah blah blah'.
<span class="news">
blah blah blah
<div>hello</div>
<div>bye</div>
</span>
Run Code Online (Sandbox Code Playgroud)
这给了我所有的价值:
div.SelectSingleNode(".//span[@class='news']").InnerText.Trim();
Run Code Online (Sandbox Code Playgroud)
这给了我null:
div.SelectSingleNode(".//span[@class='news']/preceding-sibling::text()").InnerText.Trim();
Run Code Online (Sandbox Code Playgroud)
如何使用HtmlAgilityPack获取'div'标签之前的文本?
har*_*r07 10
你的第二次尝试非常接近.使用/text()替代/preceding-sibling::text(),因为文本节点是孩子的的span[@class='news']不同级(无论之前还是之后):
div.SelectSingleNode(".//span[@class='news']/text()")
.InnerText
.Trim();
Run Code Online (Sandbox Code Playgroud)