【发布时间】:2012-02-28 21:49:53
【问题描述】:
我已经将一个网页加载到 HTML Agility Pack 中并拥有一个 DOM。我想使用 XPATH 提取页面上的所有文本(但不是在 <script> 标签中找到的 javascript)。
我想我需要一个 //text() 和一个 'not' 来忽略分支中包含 <script> 的任何标签。
我试过了
doc.DocumentNode.SelectNodes("//text()[not(self::script)]"))
和
doc.DocumentNode.SelectNodes("//text()[not(script)]"))
但两者都不起作用。它们返回的节点的 XPath 属性示例是(注意脚本)
/html[1]/body[1]/div[2]/div[4]/div[1]/div[1]/div[1]/div[3]/script[1]/#text[1]
我已经咨询了这两个帖子。
Is it possible to do 'not' matching in XPath?
Grab all text from html with Html Agility Pack(这是一篇好文章,但它带出了 JS)
有什么建议吗?
【问题讨论】: