需要HTML Agility Pack的帮助!
基本上我想用HTML的正文节点抓取纯文本。 到目前为止,我已经在vb.net中尝试了这个并且它无法返回innertext的含义 没有看到变化,至少从我能看到的变化。
Dim htmldoc As HtmlDocument = New HtmlDocument
htmldoc.LoadHtml(html)
Dim paragraph As HtmlNodeCollection = htmldoc.DocumentNode.SelectNodes("//body")
If Not htmldoc Is Nothing Then
For Each node In paragraph
node.ParentNode.RemoveChild(node, True)
Next
End If
Return htmldoc.DocumentNode.WriteContentTo
我试过这个:
Return htmldoc.DocumentNode.InnerText
但仍然没有运气!
任何建议???
答案 0 :(得分:16)
怎么样:
Return htmldoc.DocumentNode.SelectSingleNode("//body").InnerText
答案 1 :(得分:0)
如果您没有表格,Jeff的解决方案是可以的,因为表格中的文本像cell1cell2cell3一样粘着。 为避免此问题,请使用以下代码(C#示例):
var words = doc.DocumentNode?.SelectNodes("//body//text()")?.Select(x => x.InnerText);
return words != null ? string.Join(" ", words) : String.Empty;